I have very large app on play store with very complicated code on React Native and Android. Most android library code is customized as per requirement in this app. Now I want to update my app on play store but for that I need to make my app compatible with 64 bit as Google Play is not accepting my app as per new policies.
I googled it and find that I need to update React Native version to 0.59.0. I just changed React Native version in my package.json file from 0.57.7 to 0.59.8. and added below piece of code in my app level build.gradle file:
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"
}
}
But here after adding above code when I run app its being crash on start with below error message:
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)
Here is a piece of code from my 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",
}
I don't know how to go with react native update process as it is harmful for existing app. Please let me know what is the feasible solution for this.
Any help will be appreciated.