Please provide the following:
- SDK Version: 46
- Platforms(Android/iOS/web/all): Android
- Add the appropriate “Tag” based on what Expo library you have a question on. Expo-AV
Upgrading sdk from 45 to 46. Bare workflow app. Updated expo-av from 11.2.3 to 12.0.4. Updated all other expo deps tagged by ‘expo-cli doctor’. Cleaned gradle and ran every other nuclear option to reset env. Works on iOS.
The existing implementation:
import Countdown from '../some.mp3'
const { sound: s } = await Audio.Sound.createAsync(
Countdown,
{ shouldPlay: true },
(status) => {
status.didJustFinish && s.unloadAsync()
},
)
setSound(s)
App crashes at this point. Does not throw any exception on the JS side. NoClassDefFoundError is a new one to me from any previous expo lib/configuration. Will try downgrading to older version of exoplayer. Have not raised an issue in the repo until I can figure out what’s going on. Please advise. Thank you.
Logcat:
2022-10-20 13:48:55.663 27075-27075/com.bodylovegroupllc.bodylove E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.bodylovegroupllc.bodylove, PID: 27075
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/exoplayer2/Player$EventListener;
at expo.modules.av.player.PlayerData.createUnloadedPlayerData(PlayerData.java:192)
at expo.modules.av.AVManager.lambda$loadForSound$1$expo-modules-av-AVManager(AVManager.java:427)
at expo.modules.av.AVManager$$ExternalSyntheticLambda3.run(Unknown Source:8)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27)
at android.os.Looper.loop(Looper.java:233)
at android.app.ActivityThread.main(ActivityThread.java:8010)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:631)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:978)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.exoplayer2.Player$EventListener" on path: DexPathList[[dex file "/data/data/com.bodylovegroupllc.bodylove/code_cache/.overlay/base.apk/classes14.dex", dex file "/data/data/com.bodylovegroupllc.bodylove/code_cache/.overlay/base.apk/classes17.dex", zip file "/data/app/~~-N2Gsnwuh7PlyiC7B2yEMw==/com.bodylovegroupllc.bodylove-1XDprDyXr5WgN4qz0uEbQQ==/base.apk"],nativeLibraryDirectories=[/data/app/~~-N2Gsnwuh7PlyiC7B2yEMw==/com.bodylovegroupllc.bodylove-1XDprDyXr5WgN4qz0uEbQQ==/lib/arm64, /data/app/~~-N2Gsnwuh7PlyiC7B2yEMw==/com.bodylovegroupllc.bodylove-1XDprDyXr5WgN4qz0uEbQQ==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:207)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at expo.modules.av.player.PlayerData.createUnloadedPlayerData(PlayerData.java:192)
at expo.modules.av.AVManager.lambda$loadForSound$1$expo-modules-av-AVManager(AVManager.java:427)
at expo.modules.av.AVManager$$ExternalSyntheticLambda3.run(Unknown Source:8)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27)
at android.os.Looper.loop(Looper.java:233)
at android.app.ActivityThread.main(ActivityThread.java:8010)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:631)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:978)
2022-10-20 13:48:55.665 27075-27075/com.bodylovegroupllc.bodylove E/DevLauncher: DevLauncher tries to handle uncaught exception.
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/exoplayer2/Player$EventListener;
at expo.modules.av.player.PlayerData.createUnloadedPlayerData(PlayerData.java:192)
at expo.modules.av.AVManager.lambda$loadForSound$1$expo-modules-av-AVManager(AVManager.java:427)
at expo.modules.av.AVManager$$ExternalSyntheticLambda3.run(Unknown Source:8)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27)
at android.os.Looper.loop(Looper.java:233)
at android.app.ActivityThread.main(ActivityThread.java:8010)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:631)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:978)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.exoplayer2.Player$EventListener" on path: DexPathList[[dex file "/data/data/com.bodylovegroupllc.bodylove/code_cache/.overlay/base.apk/classes14.dex", dex file "/data/data/com.bodylovegroupllc.bodylove/code_cache/.overlay/base.apk/classes17.dex", zip file "/data/app/~~-N2Gsnwuh7PlyiC7B2yEMw==/com.bodylovegroupllc.bodylove-1XDprDyXr5WgN4qz0uEbQQ==/base.apk"],nativeLibraryDirectories=[/data/app/~~-N2Gsnwuh7PlyiC7B2yEMw==/com.bodylovegroupllc.bodylove-1XDprDyXr5WgN4qz0uEbQQ==/lib/arm64, /data/app/~~-N2Gsnwuh7PlyiC7B2yEMw==/com.bodylovegroupllc.bodylove-1XDprDyXr5WgN4qz0uEbQQ==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:207)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at expo.modules.av.player.PlayerData.createUnloadedPlayerData(PlayerData.java:192)
at expo.modules.av.AVManager.lambda$loadForSound$1$expo-modules-av-AVManager(AVManager.java:427)
at expo.modules.av.AVManager$$ExternalSyntheticLambda3.run(Unknown Source:8)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27)
at android.os.Looper.loop(Looper.java:233)
at android.app.ActivityThread.main(ActivityThread.java:8010)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:631)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:978)