Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使用React Native构建64位和32位APK_Android_React Native_64 Bit - Fatal编程技术网

Android 如何使用React Native构建64位和32位APK

Android 如何使用React Native构建64位和32位APK,android,react-native,64-bit,Android,React Native,64 Bit,我已将我的应用程序升级为react native 0.59.x,以获得64位兼容性,以应对即将到来的google中断: 使用本机代码的应用程序必须提供64位版本(除32位版本外) -- 请注意,我们必须同时提供这两个版本。我希望通过组装两个单独的APK来实现这一点。这是如何实现的 目前,我运行/gradlew assembleerelease,在我的目录app/build/outputs/APK/release 更新:如果答案是React Native打算输出一个包含所有32位和64位版本的AP

我已将我的应用程序升级为react native 0.59.x,以获得64位兼容性,以应对即将到来的google中断:

使用本机代码的应用程序必须提供64位版本(除32位版本外)

--

请注意,我们必须同时提供这两个版本。我希望通过组装两个单独的APK来实现这一点。这是如何实现的

目前,我运行
/gradlew assembleerelease
,在我的目录
app/build/outputs/APK/release

更新:如果答案是React Native打算输出一个包含所有32位和64位版本的APK,那么这肯定也回答了我的问题。我的期望肯定会落空。

来自官方

如果您的应用程序仅使用Java编程语言编写的代码,或 Kotlin,包括任何库或SDK,您的应用程序已准备就绪 64位设备。如果您的应用程序使用任何本机代码,或者您不确定 确实如此,你需要评估你的应用程序并采取行动

对于ARM体系结构,32位库位于armeabi-v7a中。64位等价物是arm64-v8a

对于x86体系结构,32位为x86,64位为x86_64

这在通用APK中有介绍。这就是你正在生产的,所以不必担心


不过,如果有疑问,请将您的apk放在Android Studio的apk analyzer上,并检查它是否有库。

他使用的是ReactNative,它有各种C库,需要在正确的ABI中(包括代码运行的Javascript解释器)。如果RN使用正确的工具链,我会怀疑他会正确地设置它,但这并不能回答他的问题-这不仅仅是Java/Kotlin的问题,而是本机C代码的问题。但是react native涵盖了64位版本。我通过运行来检查它it@MasukHelalAnik如果我理解正确,您是说react native将生成一个包含每个库的32位和64位版本的APK?这就是你所说的通用APK?@MasukHelalAnik我不知道RN是否提供64位和32位库。我的猜测是,如果RN现在不同时提供这两种服务,它很快就会提供。但你的答案是关于用纯Java和Kotlin编写的应用程序,而不是关于如何确保所有正确的本地库都存在。充其量,这是一个“即使是坏了的时钟”类型的答案——正确的答案和完全错误的推理。@Gabeschen:“如果他使用正确的工具链,我会怀疑RN会为他正确设置它”。。。对不起,我不明白。想详细说明一下吗D