在Android Studio中添加openCV 3.0作为库后,我发现我的apk文件已经增长到50MB以上,这显然不太理想。
解压缩apk文件显示lib
目录中有多个目标体系结构,即arm64-v8a, armeabi, armeabi-v7a, mips, mips64, x86, x86_64
。每个人占10 + MB。
从源jniLibs
目录中删除一些目标体系结构以减小apk大小是否安全?如果是这样,我应该删除哪些目标?我的目标是相对较新的设备,只要它在较新的设备上运行我就可以了。
答案 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位代码(即游戏)。