首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不同ABI库对应的多个APK

不同ABI库对应的多个APK
EN

Stack Overflow用户
提问于 2013-03-20 12:09:09
回答 3查看 429关注 0票数 3

我使用的是一个预编译库,它相当大(15 MiB),在arm5和arm7版本之间有显著的加速。我的应用程序不是NDK应用程序,所以我不能在Application.mk AFAIK中声明APP_ABI。我的目标软件开发工具包至少是Android2.3,虽然我个人还没有见过不支持armeabi-v7a的2.3+设备,但根据http://androidhardwares.com/android-hardware-development/android-hardware-requirements/的说法,我应该只假设armeabi。

是否有一些特性或GL我可以假定在所有arm-v7处理器上都可用,但不能在arm-v6或arm-v5上使用?有没有办法将我的应用程序转换为仅用于Application.mk中的一个选项的NDK?如果我只是使用不同的版本名(IE1.0-arm5,1.0-arm7)和不同的apks,在lib中只使用armeabi和armeabi-v7a目录,这会起作用吗?根据http://developer.android.com/google/play/publishing/multiple-apks.html的说法,我必须在安卓清单中有其他不同的东西才能工作。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-09-04 05:34:18

解决方案是在AndroidManifest.xml中为更高的arm系统将versionCode设置为更高的数字。如果您的版本是1.0.0,并且您的版本代码是100,请将其更改为1005 (适用于arm 5)和1007 (适用于arm 7 )。这样,当用户在Play商店中看到它时,将下载arm 7版本(如果他们的设备支持它,因为它有更高的版本代码)。上传到开发者控制台时,请务必先上传较低版本的代码。

票数 1
EN

Stack Overflow用户

发布于 2013-03-20 13:02:48

"I'm using a library“-这是一个本地库(C/C++)吗?如果是,那么您的应用程序就是NDK应用程序,即使您没有将ndk-build作为常规构建过程的一部分来构建这个库;即使它是由一些不同的本机工具链构建的,完全与NDK无关;即使它是一个根本不需要构建的第三方库。

因此,在Apllication.mk中设置APP_ABI是没有问题的。我相信这会解决你的问题。

票数 1
EN

Stack Overflow用户

发布于 2016-08-15 20:40:08

您应该对版本代码进行排序,以便在每台设备上运行性能最好的APK。例如,对版本代码进行排序,使x86 APK具有最高的版本代码,然后是ARMv7,然后是ARMv5TE。因此,x86 APK对于x86设备是首选的,而ARMv7 APK是ARMv7设备的首选。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15515145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档