Hi folks,
Just upgraded an existing ejected app from sdk 32 to sdk 33. Most things work, but our native module won’t work, and running it under Android Studio it seems like the whole native module system is failing because there’s a bad reference to the old expolib_v1
package inside expoview there:
I/org.project: Rejecting re-init on previously-failed class java.lang.Class<host.exp.exponent.network.ExponentNetwork$5>: java.lang.NoClassDefFoundError: Failed resolution of: Lexpolib_v1/okhttp3/Interceptor;
I/org.project: at void host.exp.exponent.di.NativeModuleDepsProvider.<init>(android.app.Application) (NativeModuleDepsProvider.java:59)
$ ag expolib_v1 node_modules
node_modules/expokit/maven/host/exp/exponent/expoview/33.0.0/ivy-33.0.0.xml
297: <dependency org="expolib_v1.com.squareup.okhttp3" name="okhttp" rev="3.6.0" conf="compileOnly->default"/>
298: <dependency org="expolib_v1.com.squareup.okhttp3" name="okhttp-urlconnection" rev="3.6.0" conf="compileOnly->default"/>
299: <dependency org="expolib_v1.com.squareup.okio" name="okio" rev="1.13.0" conf="compileOnly->default"/>
I’ve tried using expo 33.0.4 and 33.06 but there’s no difference. Full log output is below. Any ideas would be very welcome!
I/org.project: Rejecting re-init on previously-failed class java.lang.Class<host.exp.exponent.network.ExponentNetwork$5>: java.lang.NoClassDefFoundError: Failed resolution of: Lexpolib_v1/okhttp3/Interceptor;
I/org.project: at void host.exp.exponent.di.NativeModuleDepsProvider.<init>(android.app.Application) (NativeModuleDepsProvider.java:59)
at void host.exp.exponent.di.NativeModuleDepsProvider.initialize(android.app.Application) (NativeModuleDepsProvider.java:80)
at void host.exp.expoview.Exponent.<init>(android.content.Context, android.app.Application) (Exponent.java:134)
at void host.exp.expoview.Exponent.initialize(android.content.Context, android.app.Application) (Exponent.java:116)
at void host.exp.exponent.ExpoApplication.onCreate() (ExpoApplication.java:77)
at void android.app.Instrumentation.callApplicationOnCreate(android.app.Application) (Instrumentation.java:1154)
at void android.app.ActivityThread.handleBindApplication(android.app.ActivityThread$AppBindData) (ActivityThread.java:6209)
at void android.app.ActivityThread.access$1200(android.app.ActivityThread, android.app.ActivityThread$AppBindData) (ActivityThread.java:236)
at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1784)
at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:106)
at void android.os.Looper.loop() (Looper.java:214)
at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:7037)
at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
at void com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run() (RuntimeInit.java:494)
at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:965)
Caused by: java.lang.ClassNotFoundException: Didn't find class "expolib_v1.okhttp3.Interceptor" on path: DexPathList[[zip file "/system/framework/org.apache.http.legacy.boot.jar", zip file "/data/app/our.org.project-YdMquLVO0CAs77F004kUQA==/base.apk", zip file "/data/app/our.org.project-YdMquLVO0CAs77F004kUQA==/split_lib_dependencies_apk.apk", zip file "/data/app/our.org.project-YdMquLVO0CAs77F004kUQA==/split_lib_resources_apk.apk", zip file "/data/app/our.org.project-YdMquLVO0CAs77F004kUQA==/split_lib_slice_0_apk.apk", zip file "/data/app/our.org.project-YdMquLVO0CAs77F004kUQA==/split_lib_slice_1_apk.apk", zip file "/data/app/our.org.project-YdMquLVO0CAs77F004kUQA==/split_lib_slice_2_apk.apk", zip file "/data/app/our.org.project-YdMquLVO0CAs77F004kUQA==/split_lib_slice_3_apk.apk", zip file "/data/app/our.org.project-YdMquLVO0CAs77F004kUQA==/split_lib_slice_4_apk.apk", zip file "/data/app/our.org.project-YdMquLVO0CAs77F004kUQA==/split_li
at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:134)
at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:379)
at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
at void host.exp.exponent.di.NativeModuleDepsProvider.<init>(android.app.Application) (NativeModuleDepsProvider.java:59)
at void host.exp.exponent.di.NativeModuleDepsProvider.initialize(android.app.Application) (NativeModuleDepsProvider.java:80)
at void host.exp.expoview.Exponent.<init>(android.content.Context, android.app.Application) (Exponent.java:134)
at void host.exp.expoview.Exponent.initialize(android.content.Context, android.app.Application) (Exponent.java:116)
at void host.exp.exponent.ExpoApplication.onCreate() (ExpoApplication.java:77)
at void android.app.Instrumentation.callApplicationOnCreate(android.app.Application) (Instrumentation.java:1154)
at void android.app.ActivityThread.handleBindApplication(android.app.ActivityThread$AppBindData) (ActivityThread.java:6209)
at void android.app.ActivityThread.access$1200(android.app.ActivityThread, android.app.ActivityThread$AppBindData) (ActivityThread.java:236)
at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1784)
at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:106)
at void android.os.Looper.loop() (Looper.java:214)
at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:7037)
at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
at void com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run() (RuntimeInit.java:494)
at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:965)
I/org.project: Rejecting re-init on previously-failed class java.lang.Class<host.exp.exponent.network.ExponentNetwork$5>: java.lang.NoClassDefFoundError: Failed resolution of: Lexpolib_v1/okhttp3/Interceptor;
at void host.exp.exponent.di.NativeModuleDepsProvider.<init>(android.app.Application) (NativeModuleDepsProvider.java:59)
at void host.exp.exponent.di.NativeModuleDepsProvider.initialize(android.app.Application) (NativeModuleDepsProvider.java:80)
at void host.exp.expoview.Exponent.<init>(android.content.Context, android.app.Application) (Exponent.java:134)
at void host.exp.expoview.Exponent.initialize(android.content.Context, android.app.Application) (Exponent.java:116)
at void host.exp.exponent.ExpoApplication.onCreate() (ExpoApplication.java:77)
at void android.app.Instrumentation.callApplicationOnCreate(android.app.Application) (Instrumentation.java:1154)
at void android.app.ActivityThread.handleBindApplication(android.app.ActivityThread$AppBindData) (ActivityThread.java:6209)
at void android.app.ActivityThread.access$1200(android.app.ActivityThread, android.app.ActivityThread$AppBindData) (ActivityThread.java:236)
at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1784)
at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:106)
at void android.os.Looper.loop() (Looper.java:214)
at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:7037)
at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
at void com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run() (RuntimeInit.java:494)
at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:965)
Caused by: java.lang.ClassNotFoundException: Didn't find class "expolib_v1.okhttp3.Interceptor" on path: DexPathList[[zip file "/system/framework/org.apache.http.legacy.boot.jar", zip file "/data/app/our.org.project-YdMquLVO0CAs77F004kUQA==/base.apk", zip file "/data/app/our.org.project-YdMquLVO0CAs77F004kUQA==/split_lib_dependencies_apk.apk", zip file "/data/app/our.org.project-YdMquLVO0CAs77F004kUQA==/split_lib_resources_apk.apk", zip file "/data/app/our.org.project-YdMquLVO0CAs77F004kUQA==/split_lib_slice_0_apk.apk", zip file "/data/app/our.org.project-YdMquLVO0CAs77F004kUQA==/split_lib_slice_1_apk.apk", zip file "/data/app/our.org.project-YdMquLVO0CAs77F004kUQA==/split_lib_slice_2_apk.apk", zip file "/data/app/our.org.project-YdMquLVO0CAs77F004kUQA==/split_lib_slice_3_apk.apk", zip file "/data/app/our.org.project-YdMquLVO0CAs77F004kUQA==/split_lib_slice_4_apk.apk", zip file "/data/app/our.org.project-YdMquLVO0CAs77F004kUQA==/split_li
at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:134)
at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:379)
at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
at void host.exp.exponent.di.NativeModuleDepsProvider.<init>(android.app.Application) (NativeModuleDepsProvider.java:59)
at void host.exp.exponent.di.NativeModuleDepsProvider.initialize(android.app.Application) (NativeModuleDepsProvider.java:80)
at void host.exp.expoview.Exponent.<init>(android.content.Context, android.app.Application) (Exponent.java:134)
at void host.exp.expoview.Exponent.initialize(android.content.Context, android.app.Application) (Exponent.java:116)
at void host.exp.exponent.ExpoApplication.onCreate() (ExpoApplication.java:77)
at void android.app.Instrumentation.callApplicationOnCreate(android.app.Application) (Instrumentation.java:1154)
at void android.app.ActivityThread.handleBindApplication(android.app.ActivityThread$AppBindData) (ActivityThread.java:6209)
at void android.app.ActivityThread.access$1200(android.app.ActivityThread, android.app.ActivityThread$AppBindData) (ActivityThread.java:236)
at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1784)
at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:106)
at void android.os.Looper.loop() (Looper.java:214)
at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:7037)
at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
at void com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run() (RuntimeInit.java:494)
at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:965)