SDK 33 (expokit) crash when running production apk on android.

So I made a brand new standalone project (sdk 33), then detach it to expokit. If I add a library which requires linking the app crashes at splash screen (when running off of apk file). If I run in debug mode or simulator it’s ok. Also as long as I haven’t linked a new library that’s fine. the example library that failed was realm (any version).
I should also note that everything was ok on SDK 32 and I did run expo publish before generating each build.
My gradle dist URL is distributionUrl=https://services.gradle.org/distributions/gradle-4.10.2-all.zip
and build tools version is com.android.tools.build:gradle:3.2.0

and this is my package.json
{
“main”: “node_modules/expo/AppEntry.js”,
“scripts”: {
“start”: “expo start”,
“android”: “expo start --android”,
“ios”: “expo start --ios”,
“web”: “expo start --web”,
“eject”: “expo eject”
},
“dependencies”: {
@expo/vector-icons”: “^10.0.3”,
“axios”: “0.18.0”,
“expo”: “^33.0.0”,
“expo-asset”: “^5.0.1”,
“expo-constants”: “~5.0.1”,
“expo-font”: “~5.0.1”,
“expo-linear-gradient”: “~5.0.1”,
“expokit”: “33.0.4”,
“moment”: “^2.24.0”,
“react”: “16.8.3”,
“react-addons-shallow-compare”: “^15.6.2”,
“react-dom”: “^16.8.6”,
“react-native”: “https://github.com/expo/react-native/archive/sdk-33.0.0.tar.gz”,
“react-native-elements”: “^1.1.0”,
“react-native-icon-badge”: “^1.1.3”,
“react-native-material-dropdown”: “^0.11.1”,
“react-native-modal”: “^11.1.0”,
“react-native-search-box”: “^0.0.19”,
“react-native-unimodules”: “^0.4.0”,
“react-native-web”: “^0.11.4”,
“react-navigation”: “2.18.2”,
“react-redux”: “5.0.7”,
“realm”: “^2.29.1”,
“redux”: “4.0.0”
},
“devDependencies”: {
“babel-preset-expo”: “^5.1.1”
},
“private”: true
}

1 Like

Did you check the device log with adb logcat?

yes this is the device log relating to the crash

2019-07-24 11:24:34.499 4759-4841/? E/SoLoader: Error when loading lib: Error: Cannot load /data/app/com.evolutionindesignz.chinook-jKQExDwYOJgikq7D6AJ_qA==/lib/arm/librealmreact.so lib hash: 6bd1db9152725501237ee534088aa986 search path is /data/app/com.evolutionindesignz.chinook-jKQExDwYOJgikq7D6AJ_qA==/lib/arm
2019-07-24 11:24:34.499 4759-4841/? E/SoLoader: couldn't find DSO to load: librealmreact.so caused by: Error: Cannot load /data/app/com.evolutionindesignz.chinook-jKQExDwYOJgikq7D6AJ_qA==/lib/arm/librealmreact.so
    
    --------- beginning of crash
2019-07-24 11:24:34.501 4759-4841/? E/AndroidRuntime: FATAL EXCEPTION: create_react_context
    Process: com.evolutionindesignz.chinook, PID: 4759
    java.lang.UnsatisfiedLinkError: couldn't find DSO to load: librealmreact.so caused by: Error: Cannot load /data/app/com.evolutionindesignz.chinook-jKQExDwYOJgikq7D6AJ_qA==/lib/arm/librealmreact.so
        at com.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.java:738)
        at com.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.java:591)
        at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:529)
        at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:484)
        at io.realm.react.RealmReactModule.<clinit>(RealmReactModule.java:56)
        at io.realm.react.a.createNativeModules(RealmReactPackage.java:31)
        at com.facebook.react.ReactPackageHelper.getNativeModuleIterator(ReactPackageHelper.java:42)
        at com.facebook.react.NativeModuleRegistryBuilder.processPackage(NativeModuleRegistryBuilder.java:41)
        at com.facebook.react.ReactInstanceManager.processPackage(ReactInstanceManager.java:1212)
        at com.facebook.react.ReactInstanceManager.processPackages(ReactInstanceManager.java:1182)
        at com.facebook.react.ReactInstanceManager.createReactContext(ReactInstanceManager.java:1120)
        at com.facebook.react.ReactInstanceManager.access$900(ReactInstanceManager.java:123)
        at com.facebook.react.ReactInstanceManager$5.run(ReactInstanceManager.java:943)
        at java.lang.Thread.run(Thread.java:764)

also this is the code from my android file mainapplicatin.java

package host.exp.exponent;
import com.facebook.react.ReactPackage;
import org.unimodules.core.interfaces.Package;
import java.util.Arrays;
import java.util.List;

import expo.loaders.provider.interfaces.AppLoaderPackagesProviderInterface;
import host.exp.exponent.generated.BasePackageList;
import okhttp3.OkHttpClient;


// Needed for `react-native link`
// import com.facebook.react.ReactApplication;
import io.realm.react.RealmReactPackage;

  // Needed for `react-native link`
  public List<ReactPackage> getPackages() {
    return Arrays.<ReactPackage>asList(
        // Add your own packages here!
        // TODO: add native modules!

        // Needed for `react-native link`
        // new MainReactPackage(),
            new RealmReactPackage(),
    );
  }

You could try this:

Also, this link might be of your interest:

Thanks, It worked by adding

-keep class io.realm.react.util.SSLHelper

to the proguard rules file (as mentioned in the issue page).

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.