【问题标题】:How to check react-native libraries for 64 bit compatibility如何检查 react-native 库的 64 位兼容性
【发布时间】:2019-04-19 17:01:45
【问题描述】:

我已将我的 react-native 项目升级到 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 Native 库,然后使用 this hack 在构建期间绕过版本不匹配问题。

【问题讨论】:

    标签: android react-native 64-bit


    【解决方案1】:

    查看此issue,阅读讨论,根据此,如果您的任何库不兼容 64 位,它将不会被编译成 64 位。并且构建不会发生!如果你有这样的问题。然后您可以检测哪个库兼容或不兼容!

    另外,你可以通过 ABI 设置 true def enableSeparateBuildPerCPUArchitecture = true 进行拆分

    制作 64 位版本的 apk 并在 64 位版本的手机或模拟器上查看。

    【讨论】:

    • 在那个问题中,失败是在运行时而不是编译时。将包含 64 位二进制文​​件的 APK 加载到 32 位手机上。你显然花了很多时间来帮助我,所以我很抱歉,这似乎没有帮助:(你还建议尝试在 64 位设备上运行我的 APK,如果它失败,那么库不是64位。这对我来说似乎很明显,这是我希望避免的。我不知道有任何仅限64位的设备,大多数64位的设备也支持32位,所以我不确定如何实现。你的建议不过关于enableSeparateBuildPerCPUArchitecture 很棒!
    • 我具体要问的可能是不可能的。我想我不想浪费你的时间。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-21
    • 2019-06-26
    • 1970-01-01
    • 2020-05-14
    • 2023-03-30
    • 1970-01-01
    相关资源
    最近更新 更多