如果我们为每个 ABI 上传不同的 apk,我们是否需要上传 universal-apk
Do we need to upload universal-apk if we are uploading different apk's for each ABI
我的应用程序大小已达到 117 MB,因为 Play 商店不允许上传 apk,如果它大于 100 MB。
所以我使用了 split
,并根据不同的 ABI
创建了多个版本的 apk
如果我分析 universal-apk
,我在 lib 文件夹中得到这些类型的 ABI's
;
- armeabi-v7a
- x86
- armeabi
我用它为每个 abi
创建了 separate apk
splits {
abi {
enable true
reset()
include 'x86', 'armeabi-v7a', 'armeabi'
universalApk true
}
}
现在我在结果中得到了 4 种类型的 apk。 universal-apk
大小为 117 MB,而 armeabi
为 68 MB。
所以很明显,我无法在 Play 商店上传 universal-apk
,因此我最终会在 Play 商店上传 3 apk's
。
现在我的问题是那些 cpu architecture
不属于这些类别的用户会怎样。
我注意到 Galaxy S7 是 arm64-v8a
,除此之外,市场上还会有一些其他架构可用,所以如果 universal-apk
不存在,这些设备会发生什么情况,或者 armeabi-v7a
和 x86
足以定位市场上所有可用的设备。
这会减少目标应用用户吗?我找不到 ABI share on Google Play
可在此处找到所有支持的 ABI 的列表:
https://developer.android.com/ndk/guides/abis.html#sa
如果删除 reset() 选项,将为每个支持的 ABI 构建拆分。
第一步始终是从数据着手。在 Play Developer Console 中查看您的现有用户,了解您的用户的分布情况。
对于没有这些 ABI 之一的用户,他们将获得 "This app is not compatible with your device"。
但是,x86_64 和 arm64-v8a 向后兼容 x86 和 armeabi-v7a。通过覆盖您选择的那些,它将在几乎所有设备上 运行,mips 可能不值得担心。
如果您也添加 x86_64 和 arm64-v8a 变体,您在较新设备上的用户将获得更好的性能,但没有这个也应该可以工作。
armeabi 现在非常少见,但一些非常老的设备确实有这种限制。如果您的目标是现代 android 版本(例如 ICS+),您可能没问题。
我的应用程序大小已达到 117 MB,因为 Play 商店不允许上传 apk,如果它大于 100 MB。
所以我使用了 split
,并根据不同的 ABI
如果我分析 universal-apk
,我在 lib 文件夹中得到这些类型的 ABI's
;
- armeabi-v7a
- x86
- armeabi
我用它为每个 abi
separate apk
splits {
abi {
enable true
reset()
include 'x86', 'armeabi-v7a', 'armeabi'
universalApk true
}
}
现在我在结果中得到了 4 种类型的 apk。 universal-apk
大小为 117 MB,而 armeabi
为 68 MB。
所以很明显,我无法在 Play 商店上传 universal-apk
,因此我最终会在 Play 商店上传 3 apk's
。
现在我的问题是那些 cpu architecture
不属于这些类别的用户会怎样。
我注意到 Galaxy S7 是 arm64-v8a
,除此之外,市场上还会有一些其他架构可用,所以如果 universal-apk
不存在,这些设备会发生什么情况,或者 armeabi-v7a
和 x86
足以定位市场上所有可用的设备。
这会减少目标应用用户吗?我找不到 ABI share on Google Play
可在此处找到所有支持的 ABI 的列表:
https://developer.android.com/ndk/guides/abis.html#sa
如果删除 reset() 选项,将为每个支持的 ABI 构建拆分。
第一步始终是从数据着手。在 Play Developer Console 中查看您的现有用户,了解您的用户的分布情况。
对于没有这些 ABI 之一的用户,他们将获得 "This app is not compatible with your device"。
但是,x86_64 和 arm64-v8a 向后兼容 x86 和 armeabi-v7a。通过覆盖您选择的那些,它将在几乎所有设备上 运行,mips 可能不值得担心。
如果您也添加 x86_64 和 arm64-v8a 变体,您在较新设备上的用户将获得更好的性能,但没有这个也应该可以工作。
armeabi 现在非常少见,但一些非常老的设备确实有这种限制。如果您的目标是现代 android 版本(例如 ICS+),您可能没问题。