Android crash on Audio.Sound.createAsync with SDK 46

Please provide the following:

  1. SDK Version: 46
  2. Platforms(Android/iOS/web/all): Android
  3. 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) 

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