我正在开发一个API级别15+的应用程序,它有一些jni代码,我想知道是否有设备使用armeabi ABI(ARMv5)和API级别15 +
我可以只包含armeabi-v7a和x86库并跳过旧的armeabi吗?
答案 0 :(得分:8)
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。
答案 1 :(得分:0)
我可以仅包含armeabi-v7a和x86库,并跳过旧的armeabi吗?
否,iff应用程序将在基于cpu的旧体系结构设备上使用。
是的,如果我们确定没有客户比基于ARM7 cpu的体系结构设备老。
在我们的案例中,我们购买了Chilkat许可证,为期一年,他们很高兴获得ARMEABI .SO文件的支持。因此,这取决于用例。对于组织而言,它是负担得起的。
如果任何人想与他们联系以寻求帮助,也希望与他们分享Chilkat的联系点。通过-> support@chilkatsoft.com
给他们发送电子邮件谢谢,祝您编码愉快!