【发布时间】:2015-06-18 19:04:36
【问题描述】:
我正在为 API 级别 15+ 开发一个包含一些 jni 代码的应用程序,我想知道是否有具有 armeabi ABI (ARMv5) 和 API 级别 15+ 的设备
我可以只包含 armeabi-v7a 和 x86 库并跳过旧的 armeabi 吗?
【问题讨论】:
标签: android-ndk
我正在为 API 级别 15+ 开发一个包含一些 jni 代码的应用程序,我想知道是否有具有 armeabi ABI (ARMv5) 和 API 级别 15+ 的设备
我可以只包含 armeabi-v7a 和 x86 库并跳过旧的 armeabi 吗?
【问题讨论】:
标签: android-ndk
Android 本身不支持 Android 4.4(API 级别 19)低于 ARMv7 的 ARM 版本。从 Android 4.0(API 级别 15)开始,它默认不支持 ARMv5/ARMv6,但可以修改为针对这些平台构建(请参阅https://groups.google.com/d/msg/android-building/Q_gU1zb6DLc/Bq5QryioQ_kJ),并且有在 ARMv6 上运行的自定义构建。我不完全确定是否有任何官方认证的兼容设备运行这种组合(Android 4.0-4.3) - 至少不应该有任何此类认证设备运行 Android 4.4,因为兼容性定义文档严格要求 ARMv7从那个版本开始。
所以在实践中你应该很安全地跳过它,但你可能会通过这样做排除一些边缘第三方 ROM。
请参阅https://stackoverflow.com/a/28926267/3115956 以获取类似问题的类似答案。
【讨论】:
我可以只包含 armeabi-v7a 和 x86 库并跳过旧的 armeabi 吗?
不,如果应用程序要在旧的基于 cpu 的架构设备上使用。
是的,如果我们确定没有客户拥有早于 ARM7 cpu 架构的设备。
在我们的案例中,我们购买了一年的 Chilkat 许可证,他们很乐意为 ARMEABI .SO 文件提供支持。因此,这取决于用例。它对组织来说是负担得起的。
如果有人想联系他们寻求帮助,也想分享 Chilkat 的联系点。发送电子邮件至 -> support@chilkatsoft.com
谢谢你,编码快乐!!!
【讨论】: