如果我有32位本机库,Android应用程序仍然是64位吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如果我有32位本机库,Android应用程序仍然是64位吗?相关的知识,希望对你有一定的参考价值。
我有一个我想使用的本机库,它提供以下二进制文件:
- arm64-V8A
- armeabi
- Rmpfha
- MIPS
- MIPS64
- 86
- x86_64的
如果相关,我们的minSDK是18。根据https://developer.android.com/ndk/guides/abis.html armeabi,mips和mips64已被弃用/删除。
什么是最好的使用方式?
- 只需使用它们(将apk从6mb增加到30mb)
- 仅使用armeabi和x86(应用程序仍然被认为是64位吗?)
- 拆分构建(例如https://androidbycode.wordpress.com/2015/06/30/android-ndk-version-code-scheme-for-publishing-apks-per-architecture/)
答案
x86_64和arm64可以在没有问题的情况下运行x86和armeabi-v7a代码,所以如果你不包含64bit archs的二进制文件 - 将选择32位二进制文件
因此,如果您的目标不是最小化apk大小,则应该为所有目标ABI包含二进制文件
另一答案
谷歌最近有announced
在2019年8月,Play将要求使用本机库的新应用和应用更新除了32位版本之外还提供64位版本。
所以,你有一年半的时间来准备arm64-v8a。无论如何,拆分APK并不难,而且非常方便。
我同意@Anton Malyshev认为大多数开发人员可以忽略生产中的x86目标(在开发过程中它们可能非常有用,因为x86_64仿真器要快得多)。
以上是关于如果我有32位本机库,Android应用程序仍然是64位吗?的主要内容,如果未能解决你的问题,请参考以下文章
加载本机 dll 时抛出 ExecutionEngineException
在 Java 应用程序中混合运行 32 位和 64 位本机库