问题
语音sdk需要用到armeabi的so
objectbox作者认为armeabi已经过时, 仅提供 armeabi-v7a 和 arm64-v8a的so
直接一起使用会报找不到语音so的错误,以及armeabi和arm64-v8a一起使用造成的错误(32位和64位)
解决:语音so使用armeabi 和armeabi-v7a
ndk配置
Android 设备的CPU类型
armeabi-v7a: 第7代及以上的 ARM 处理器。2011年15月以后的生产的大部分Android设备都使用它.
arm64-v8a: 第8代、64位ARM处理器,很少设备,三星 Galaxy S6是其中之一。
armeabi: 第5代、第6代的ARM处理器,早期的手机用的比较多。
x86: 平板、模拟器用得比较多。
x86_64: 64位的平板。
一些适配方案
方案一:只适配armeabi
优点:基本上适配了全部CPU架构(除了淘汰的mips和mips_64)
缺点:性能低,相当于在绝大多数手机上都是需要辅助ABI或动态转码来兼容
方案二:只适配 armwabi-v7a
同理方案一,只是又筛掉了一部分老旧设备,在性能和兼容二者中比较平衡
方案三: 只适配 arm64-v8
优点: 性能最佳
缺点: 只能运行在arm64-v8上,要放弃部分老旧设备用户
目前来说,大多数的大厂APP用的都是armeabi或armwabi-v7a,只有像微信这种牛逼的APP,为了追求性能和用户体验,放弃了少部分设备。