如何检查本机库是否具有64位兼容性

时间:2019-04-19 17:01:45

标签: android react-native 64-bit

我已经将我的本机项目升级到0.59.x,以便它可以提供64位版本。

我现在需要检查我使用的每个库是否提供64位版本,例如react-native-firebase或其他各种流行的库。

我已经解压缩了APK,并观察到x86_64包含与x86目录中相同名称的文件。我担心的是,因为我的升级路径是如此复杂,并且充满问题/黑客,并且我使用的是很多的旧库,这些旧库似乎不太可能具有64位版本,因此x86_64中的某些库可能目录实际上可能是32位。

我觉得必须有某种方法,例如以某种方式检查目录中的.so文件。

注意:

  • 我了解只有提供本地代码的库才需要提供64位版本。
  • 我假设React Native 0.59.x不能以某种方式保证我的库也被编译为64位。我认为要由我自己决定是否还提供64位版本的每个库的版本。如果不是这样,只需升级到0.59.x,确实可以确保我的库被编译为64位,那么请告诉我,我的整个问题都已解决。不过,这似乎极不可能。
  • 我的偏执症源于使用OLD React本机库,然后使用this hack绕过了构建期间的版本不匹配问题。

1 个答案:

答案 0 :(得分:1)

请查看此issue,阅读讨论内容,如果您的任何库都不与64位兼容,则不会将其编译为64位。而且构建不会发生!如果您有这种问题。然后,您可以检测到哪个库兼容或不兼容!

以另一种方式,您可以通过将ABI设置为true def enableSeparateBuildPerCPUArchitecture = true

来进行拆分

产生64位版本的apk,并在64位版本的手机或仿真器上签出。