我使用的预编译库相当大 (15 MiB),在 arm5 和 arm7 版本之间有显着的加速。我的应用程序不是 NDK 应用程序,因此我无法在 Application.mk AFAIK 中声明 APP_ABI。根据 http://androidhardwares.com/android-hardware-development/android-hardware-requirements/,我的目标 SDK 至少是 android 2.3,尽管我个人还没有看到不支持 armeabi-v7a 的 2.3+ 设备。我应该只假设 armeabi。
是否有某些功能或 GL 我可以假设适用于所有 arm-v7 处理器但不适用于 arm-v6 或 arm-v5?有没有一种方法可以仅针对 Application.mk 中的那个选项将我的应用程序转换为 NDK?如果我只是使用不同的版本名称(IE 1.0-arm5、1.0-arm7)和不同的 apks,并且在 lib 中只使用 armeabi 和 armeabi-v7a 目录,那行得通吗?根据http://developer.android.com/google/play/publishing/multiple-apks.html我必须在 android list 中有其他不同的东西才能工作。
最佳答案
“我正在使用一个库” - 这是 native 库 (C/C++) 吗?如果是,那么您的应用程序就是 NDK 应用程序,即使您没有使用 ndk-build
构建此库作为常规构建过程的一部分;即使它是由一些不同的本地工具链构建的,与 NDK 完全无关;即使它是您根本不构建的第 3 方库。
所以,在Apllication.mk中设置APP_ABI是没有问题的。我相信这会解决您的问题。
关于android - 不同 ABI 库的多个 APK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15515145/