概要
AndroidJavaException: java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/activity/result/ActivityResultLauncher; java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/activity/result/ActivityResultLauncher; at java.lang.reflect.Executable.getParameterTypesInternal(Native Method) at java.lang.reflect.Method.getParameterTypes(Method.java:186) at java.lang.Class.getDeclaredMethods(Class.java:1915) at com.unity3d.player.ReflectionHelper.getMethodID(Unknown Source:92) at com.unity3d.player.UnityPlayer.nativeRender(Native Method) at com.unity3d.player.UnityPlayer.-$$Nest$mnativeRender(Unknown Source:0) at com.unity3d.player.UnityPlayer$F$a.handleMessage(Unknown Source:122) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loopOnce(Looper.java:201) at android.os.Looper.loop(Looper.java:288) at com.unity3d.player.UnityPlayer$F.run(Unknown Source:24) Caused by: java.lang.ClassNotFoundException: Didn't find class "x
Unity プロジェクトに導入している Firebase 関連のパッケージをアップデートしてから
Play Asset Delivery を使用して Android ビルドしたら
アプリ起動後に上記のエラーが発生する現象に遭遇した
Play Asset Delivery を使わずにビルドした場合はエラーが出ない状況だった
解決
Firebase 関連のパッケージをアップデートする際に
Google Play 関連のパッケージも一緒にアップデートしたことが原因だった
- com.google.android.appbundle-1.9.0.tgz
- com.google.play.assetdelivery-1.9.0.tgz
- com.google.play.common-1.9.0.tgz
- com.google.play.core-1.8.3.tgz
上記のようにアップデートした Google Play 関連のパッケージを
- com.google.android.appbundle-1.8.0.tgz
- com.google.play.assetdelivery-1.8.2.tgz
- com.google.play.common-1.8.2.tgz
- com.google.play.core-1.8.2.tgz
もともと導入していた上記のバージョンに戻してから
Play Asset Delivery を使用して Android ビルドしたらエラーが出なくなった
補足
Maven Repository から「activity-1.6.0.aar」を入手して
「Assets/Plugins/Android」フォルダに入れるとエラーが出なくなるという情報もあったが
自分の環境だと別のエラーが発生するようになってしまい、このやり方だと解決しなかった