openCV 3删除Android的不必要的cpu​​架构

时间:2015-11-22 18:24:38

标签: android opencv

在Android Studio中添加openCV 3.0作为库后,我发现我的apk文件已经增长到50MB以上,这显然不太理想。

解压缩apk文件显示lib目录中有多个目标体系结构,即arm64-v8a, armeabi, armeabi-v7a, mips, mips64, x86, x86_64。每个人占10 + MB。

从源jniLibs目录中删除一些目标体系结构以减小apk大小是否安全?如果是这样,我应该删除哪些目标?我的目标是相对较新的设备,只要它在较新的设备上运行我就可以了。

1 个答案:

答案 0 :(得分:2)

受欢迎程度的体系结构的一般排名将是ARM,x86,然后是MIPS。问题是64位是未来面临的,所以取决于你愿意放弃它意味着你的64位架构上的32位代码可能会受到一些性能影响。

或者在Google Play中使用Multiple APK支持向您的用户提供正确的架构APK,以减少相关复杂性的尺寸/下载时间。

<强>更新

Android Compatibility Definition Document第3.3.1节

要求在64位体系结构上支持32位代码
MUST support the equivalent 32-bit ABI if any 64-bit ABI is supported
谷歌不希望新的64位设备在32位二进制文​​件上中断,因为生态系统中存在相当多的32位代码(即游戏)。