Android cpu 架构有:
armeabi,armeabi-v7a,arm64-v8a,x86,x86_64等cpu架构
问题1、什么是.so文件,用来做什么?
参考帖子:Android SO文件的概念、兼容、适配和可能的错误
问题2、针对不同的cpu 架构选择不同的.so文件
如果项目只包含了 armeabi,那么在所有Android设备都可以运行;
如果项目只包含了 armeabi-v7a,除armeabi架构的设备外都可以运行;
如果项目只包含了 x86,那么armeabi架构和armeabi-v7a的Android设备是无法运行的; 如果同时包含了 armeabi, armeabi-v7a和x86,所有设备都可以运行,程序在运行的时候去加载不同平台对应的so,这是较为完美的一种解决方案,同时也会导致包变大。
问题3、项目中引入第三方SDK,出现.so找不到的问题
项目中引入2个第三方SDK(A 和 B),SDK A 中包含所有cpu架构的.so,SDK B 中包含只有 armeabi 的.so,这个时候 SDK B 会出现不可用的问题,这是什么造成的?