版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_28478281/article/details/83827753 so库说明 so库在android中,是使用c/c++代码编译出来的库文件,可以使用ndk调用,就是你在android代码中见到的native方法,具体的实现就在so库中 关于so库兼容性问题 andorid中或多或少都会引用到第三方库,而很多第三方库中都有so的存在,不论是复制到项目中(如百度地图),或是gradle依赖(如个推) 其中都涉及到了so库的相关问题,如果你选择的库是有所有cpu类型可选还好,如果不是,那么就需要自定义设置了 举个栗子 你的app依赖两个库,分别是lib1,lib2 lib1: arm64-v8a,armeabi-v7a lib2: armeabi-v7a 那么当你运行在v7的手机上时,因为你的项目含有v7的so库,所以没有问题,可以跑起来 如果,你运行在v8手机上,那么你的项目就会boom,崩了, 为啥呢? 这就涉及到so对齐了 so对齐 简单来说,就是要有就必须都有,如果一个没有,那就一个都不要 比如上面的例子,如果你是自己复制到项目下的,你需要删掉arm64-v8a的文件夹 如果是个推那种使用gradle依赖的方案,那么你需要修改gradle文件