如果我有32位的本机库,Android应用程序仍然是64位吗?

如果我有32位的本机库,Android应用程序仍然是64位吗?,android,java-native-interface,64-bit,native,Android,Java Native Interface,64 Bit,Native,我有一个我想使用的本机库,它提供以下二进制文件: arm64-v8a 阿姆亚比 armeabi-v7a mips mips64 x86 x86_64 如果相关的话,我们的minSDK是18。 根据armeabi,mips和mips64已被弃用/删除 使用它的最佳方式是什么 只需全部使用(将apk从6mb增加到30mb) 仅使用armeabi和x86(该应用程序仍被视为64位吗?) 拆分构建(例如) x86\u 64和arm64可以毫无问题地运行x86和armeabi-v7a代码,因此,如果

我有一个我想使用的本机库,它提供以下二进制文件:

  • arm64-v8a
  • 阿姆亚比
  • armeabi-v7a
  • mips
  • mips64
  • x86
  • x86_64
如果相关的话,我们的minSDK是18。 根据armeabi,mips和mips64已被弃用/删除

使用它的最佳方式是什么

  • 只需全部使用(将apk从6mb增加到30mb)
  • 仅使用armeabi和x86(该应用程序仍被视为64位吗?)
  • 拆分构建(例如)

x86\u 64和arm64可以毫无问题地运行x86和armeabi-v7a代码,因此,如果您不包括64位ARCH的二进制文件,则将选择32位二进制文件

因此,如果您的目标不是最小化apk大小,那么您应该为所有目标ABI包含二进制文件

2019年8月,Play将要求新应用程序和带有本机库的应用程序更新在其32位版本的基础上提供64位版本

因此,您有一年半的时间准备arm64-v8a。无论如何,splitapk并不难,而且非常方便


我同意@Anton Malyshev的观点,即大多数开发人员可以忽略生产中的x86目标(它们在开发过程中可能非常有用,因为x86_64 emulator要快得多)。

只使用armeabi和x86(那么应用程序是否仍被视为64位?)-不,应用程序将是32位,64位CPU与32位代码兼容。尽管Intel Houdini支持,但x86也可以很好地运行armeabi-v7a,因此在某些情况下,仅使用armeabi-v7a就足够了(目前市场上几乎没有x86设备)