【发布时间】:2019-12-17 23:45:09
【问题描述】:
我在 Play 商店中有非常大的应用程序,在 React Native 和 Android 上的代码非常复杂。大多数 android 库代码都是根据这个应用程序的要求定制的。现在我想在 Play 商店中更新我的应用程序,但为此我需要使我的应用程序与 64 位兼容,因为 Google Play 不接受我的应用程序按照新政策。
我搜索了一下,发现我需要将 React Native 版本更新到 0.59.0。我刚刚将 package.json 文件中的 React Native 版本从 0.57.7 更改为 0.59.8。并在我的应用级 build.gradle 文件中添加以下代码:
ndk {
abiFilters "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
}
splits {
abi {
reset()
enable enableSeparateBuildPerCPUArchitecture
universalApk false // If true, also generate a universal APK
include "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
}
}
buildTypes {
release {
minifyEnabled enableProguardInReleaseBuilds
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
}
}
但是在我运行应用程序时添加上述代码后,它在启动时崩溃并显示以下错误消息:
java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libreactnativejni.so caused by: couldn't find DSO to load: libglog_init.so caused by: couldn't find DSO to load: libglog.so caused by: couldn't find DSO to load: libgnustl_shared.so caused by: dlopen failed: "/data/data/com.m_naira/lib-main/libgnustl_shared.so" is 32-bit instead of 64-bit
at com.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.java:703)
at com.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.java:564)
at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:500)
at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:455)
at com.facebook.react.bridge.ReactBridge.staticInit(ReactBridge.java:18)
at com.facebook.react.bridge.NativeMap.<clinit>(NativeMap.java:19)
at com.facebook.react.bridge.JSCJavaScriptExecutorFactory.create(JSCJavaScriptExecutorFactory.java:21)
at com.facebook.react.ReactInstanceManager$5.run(ReactInstanceManager.java:917)
at java.lang.Thread.run(Thread.java:764)
这是我的 package.json 中的一段代码:
"dependencies": {
"axios": "^0.18.0",
"moment": "^2.22.2",
"react": "16.6.3",
"react-image-mapper": "0.0.14",
"react-native": "^0.59.8",
"react-native-animatable": "^1.3.0",
"react-native-autocomplete-input": "^3.6.0",
"react-native-camera": "^1.9.2",
"react-native-contacts": "^2.2.4",
"react-native-customized-image-picker": "^0.1.4",
"react-native-datepicker-dialog": "0.0.9",
}
我不知道如何使用 react native 更新过程,因为它对现有应用程序有害。请让我知道对此的可行解决方案是什么。 任何帮助将不胜感激。
【问题讨论】:
标签: android react-native 64-bit updates google-play-console