android - 不同 ABI 库的多个 APK

标签 android android-ndk apk

我使用的预编译库相当大 (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/

相关文章:

android - 如何从其他 Android 应用程序创建快捷方式

android - 将so文件添加到代码codenameone到原生android?

c++ - NDK 编译器找不到 'pair' 模板

Android 签名 APK 代 : Proguard exception for referenced class/method not found

android - 使用 Google Play 提供的上传 key 签署 APK

java - 在 Dagger 2 中提供方法

android - 有没有更好的方法在 Android 中解析 SoapObject

android - Flutter:Gradle 构建无法生成 .apk 文件。该文件可能是在 <app_root>\build 下生成的,但该工具找不到它

android - 如何在不使用主键时进行插入或替换

java - 在普通Java中运行Android NDK .so库