media icon indicating copy to clipboard operation
media copied to clipboard

Failed resolution of: LogSessionId

Open AradiPatrik opened this issue 4 months ago • 2 comments

Version

Media3 pre-release (alpha, beta or RC not in this list)

More version details

1.8.0-alpha01

Devices that reproduce the issue

Samsung S9 - Android 9 Xiaomi Redmi Note 8 Pro - Android 10

Devices that do not reproduce the issue

Galaxy S23 Ultra Android 14

Reproducible in the demo app?

Not tested

Reproduction steps

Start a media3 transformer to render a video on a release build with minify enabled using the current alpha version of the library

I've already added

-keep class android.media.metrics.LogSessionId

To my proguard-rules.pro

It seems like LogSessionId requires api level 31 anyway so it's no wonder older devices can't find the class definition

Expected result

Transformer renders the video

Actual result

Crash:

# Crashlytics - Stack trace
# Application: com.cardinalblue.onbeat
# Platform: android
# Version: 1.71-develop (71)
# Issue: d52f187bfdb55de3fbb88612fbc6d99b
# Session: 684FB543031200012084CCCBFF43DF31_DNE_0_v2
# Date: Mon Jun 16 2025 14:18:45 GMT+0800 (Taipei Standard Time)

Fatal Exception: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/media/metrics/LogSessionId;
       at androidx.media3.transformer.DefaultAssetLoaderFactory.createAssetLoader(DefaultAssetLoaderFactory.java:204)
       at androidx.media3.transformer.SequenceAssetLoader$GapInterceptingAssetLoaderFactory.createAssetLoader(SequenceAssetLoader.java:840)
       at androidx.media3.transformer.SequenceAssetLoader.<init>(SequenceAssetLoader.java:158)
       at androidx.media3.transformer.TransformerInternal.<init>(TransformerInternal.java:252)
       at androidx.media3.transformer.Transformer.startInternal(Transformer.java:1712)
       at androidx.media3.transformer.Transformer.start(Transformer.java:1034)
       at com.cardinalblue.onbeat.timeline.VideoTrimRendererKt$run$2.invokeSuspend(VideoTrimRenderer.kt:146)
       at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
       at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
       at android.os.Handler.handleCallback(Handler.java:873)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loop(Looper.java:214)
       at android.app.ActivityThread.main(ActivityThread.java:6981)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1445)

Caused by java.lang.ClassNotFoundException: Didn't find class "android.media.metrics.LogSessionId" on path: DexPathList[[zip file "/data/app/com.cardinalblue.onbeat-IXp6YYqXJu8f7cu6O_JW9w==/base.apk"],nativeLibraryDirectories=[/data/app/com.cardinalblue.onbeat-IXp6YYqXJu8f7cu6O_JW9w==/lib/arm64, /data/app/com.cardinalblue.onbeat-IXp6YYqXJu8f7cu6O_JW9w==/base.apk!/lib/arm64-v8a, /system/lib64]]
       at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
       at androidx.media3.transformer.DefaultAssetLoaderFactory.createAssetLoader(DefaultAssetLoaderFactory.java:204)
       at androidx.media3.transformer.SequenceAssetLoader$GapInterceptingAssetLoaderFactory.createAssetLoader(SequenceAssetLoader.java:840)
       at androidx.media3.transformer.SequenceAssetLoader.<init>(SequenceAssetLoader.java:158)
       at androidx.media3.transformer.TransformerInternal.<init>(TransformerInternal.java:252)
       at androidx.media3.transformer.Transformer.startInternal(Transformer.java:1712)
       at androidx.media3.transformer.Transformer.start(Transformer.java:1034)
       at com.cardinalblue.onbeat.timeline.VideoTrimRendererKt$run$2.invokeSuspend(VideoTrimRenderer.kt:146)
       at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
       at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
       at android.os.Handler.handleCallback(Handler.java:873)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loop(Looper.java:214)
       at android.app.ActivityThread.main(ActivityThread.java:6981)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1445)

Media

Media doesn't matter

Bug Report

  • [ ] You will email the zip file produced by adb bugreport to [email protected] after filing this issue.

AradiPatrik avatar Jun 16 '25 07:06 AradiPatrik