dev*_*v90 5 performance android abi google-play android-gradle-plugin
我的应用程序大小已达到 117 MB,因为 Play 商店不允许上传超过100 MB的 apk 。
所以我使用split并创建了多个版本的 apk,每个版本都基于不同的ABI
如果我分析universal-apk,我ABI's在 lib 文件夹中得到了这些类型;
我用它来separate apk为每个创建abi
splits {
abi {
enable true
reset()
include 'x86', 'armeabi-v7a', 'armeabi'
universalApk true
}
}
Run Code Online (Sandbox Code Playgroud)
现在我得到了 4 种类型的 apk。的universal-apk大小为117 MB,其中,如armeabi为68 MB。
所以很明显,我无法上传universal-apkon Play 商店,因此我最终会上传3 apk's游戏商店。
现在我的问题是那些用户会发生什么 cpu architecture不属于这些类别的。
我注意到 Galaxy S7 是arm64-v8a,除了这些之外,市场上还会有其他一些架构可用,所以如果这些设备universal-apk不存在,会发生什么,或者armeabi-v7a和x86有足够的目标都在市场上的设备。
这会减少目标应用程序用户吗?我无法找出ABI share on Google Play
第一步始终是根据数据开展工作。在 Play 开发者控制台中查看您的现有用户,了解您的用户的分配情况。
对于没有这些 ABI 之一的用户,他们将收到“此应用程序与您的设备不兼容”。
但是,x86_64 和arm64-v8a 向后兼容x86 和armeabi-v7a。通过覆盖您选择的那些,它将在几乎所有设备上运行,mips 可能不值得担心。
如果您还添加 x86_64 和 arm64-v8a 变体,较新设备上的用户将获得更好的性能,但如果没有此变体,它也应该可以工作。
armeabi 现在非常罕见,但一些非常旧的设备确实有这种限制。如果您的目标是现代 Android 版本(例如 ICS+),您可能没问题。