Mou*_*usa 18 android arm android-ndk
我开发了一个主要使用C++的应用程序,并且.so像往常一样由NDK编译到库中.我们知道必须分别为每个CPU架构构建本机应用程序; 所以,我有不同so的文件armeabi和armeabi-v7a.(我故意冷落x86和mips,因为没有多少与这些架构的Android设备被释放.)
但是,大小非常大,每个so文件占用大约90 MB空间,我想减少它.
我知道我可以省略armeabi-v7a,因为向后兼容,但在这种情况下,应用程序将运行非常缓慢.
考虑到我的应用程序仅支持android ICS及以上(minSdkVersion="14"),我可以安全地删除armeabi并假设所有这些新设备都使用armeabi-v7a?或者某些设备仍然可以使用旧的armeabi而不是armeabi-v7a架构?
mst*_*sjo 23
Android 4.0及更新版本的未经修改的原始Android源默认情况下不支持ARMv5/ARMv6(但可以修改为ARMv5/ARMv6的构建版本 - 在ARMv6上运行它的自定义版本).我不确定是否可以获得与此类Android版本兼容的ARMv6设备,或者它是否仅适用于非官方固件.从Android 4.4开始,CDD(兼容性定义)严格要求ARMv7.有关详细信息,请参阅https://android.stackexchange.com/questions/34958/what-are-the-minimum-hardware-specifications-for-android.
所以是的,也许,原则上,armeabi如果您的应用需要Android 4.0 ,您可以放弃,但我不确定是否有任何此类官方保证.如果你需要Android 4.4,它应该绝对没问题.
没有支持armeabi但不支持的Android 4+设备armeabi-v7a,因此您可以放心armeabi。
您可以在Google Play中自行检查:创建2个APK(其中1个支持armeabi,1个支持armeabi-v7a),然后尝试将两者都上传到Google Play。您会注意到它们具有相同数量的受支持设备。
如果您在尝试同时支持两种架构时按架构拆分APK,则在上传到Google Play时甚至会遇到错误:
任何设备都无法下载此应用的xxx版本,因为它们都会收到具有更高版本代码的APK。
| 归档时间: |
|
| 查看次数: |
10356 次 |
| 最近记录: |