我的应用程序大小已达到117 MB,因为Play商店不允许上传apk(如果大于100 MB).
所以我使用了split,并根据不同的ABI创建了多个版本的apk
如果我分析Universal-apk,我会在lib文件夹中找到这些类型的ABI.
> armeabi-v7a
> x86
>山葵
我用它为每个abi创建了单独的apk
splits {
abi {
enable true
reset()
include 'x86', 'armeabi-v7a', 'armeabi'
universalApk true
}
}
现在我得到4种类型的apk结果.通用APK大小为117 MB,而armeabi则为68 MB.
因此,由此可见,我只是无法在Play商店上载Universal-apk,因此我最终将在Play商店上载3个APK.
现在,我的问题是,那些CPU结构不属于这些类别的用户将会怎样?
我注意到Galaxy S7是arm64-v8a,市场上除了这些之外还有其他一些架构,因此,如果不存在通用apk或armeabi-v7a和x86足以针对所有设备,那么这些设备将会发生什么?市场上可用的设备.
这会减少目标应用程序的用户吗?我无法在Google Play上找到ABI分享
解决方法:
第一步始终是从数据开始工作.在Play开发者控制台中查看您现有的用户,以了解您的用户的分布情况.
对于没有这些ABI之一的用户,他们将获得“此应用程序与您的设备不兼容”.
但是,x86_64和arm64-v8a与x86和armeabi-v7a向后兼容.通过涵盖您所选择的设备,它几乎可以在所有设备上运行,因此mips可能不值得担心.
如果您还添加了x86_64和arm64-v8a变体,则使用较新设备的用户将获得更好的性能,但是如果没有这些变体,它应该可以工作.
现在,armeabi非常稀有,但某些非常古老的设备确实有该限制.如果您的目标是现代android版本(例如ICS),则可能会没事.