[RN/Android] 리젝 리포트 – Gradle 버전 이슈
5:50 pm
이슈
안정성 문제 : 특정 에뮬레이터에서 비정상 종료 이슈
발견하지 못한 이유
이 환경의 에뮬레이터에서 실행해보지 않았으며, crashlytics 리포트에서 확인된 적이 없어서 발견하지 못함.
원인
원인을 파악할 수 없음. 동일한 에뮬레이터에서도 재연할 수 없는 상황.
추측: 호환이 Gradle 8.1과 react native 0.73이 맞다고 되어있으나, 현재 Gradle 8.3으로 빌드되고 있었음.
MainApplication
처리
Gradle 버전, kotlin 버전, minSDK 버전을 수정했고, 다시 클린 후, 빌드함.
https://docs.gradle.org/current/userguide/upgrading_version_8.html#changes_8.2
- kotlin: 1.8.20
- Gradle: 8.1
- react-native: 0.73.6 (Stable)
- gradle.properties 옵션 추가 (react-native 관련 설정)
<Google Play Store 내부 테스트 환경에서 제공하는 리포트 확인 필요>
# gradle.properties 옵션 추가 (react-native 관련 설정)
# [공식문서] 컴파일 클래스 경로에 매우 큰 JAR 파일이 포함된 경우 작업 OutOfMemory에서 예외가 발생할 수 있는 Kotlin 컴파일 회피와 관련된 알려진 문제가 있습니다 . compileKotlin이는 Kotlin 플러그인 v1.8.20 또는 플러그인을 적용하는 빌드에 적용됩니다 kotlin-dsl.
# [공식문서] 파일에서 Kotlin 컴파일 회피를 비활성화하여 이 문제를 해결할 수 있습니다 gradle.properties.
kotlin.incremental.useClasspathSnapshot=false
리포트
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.google.testing.helium.utp.android.companion.instrumentations.uid/com.google.testing.helium.utp.android.companion.activities.BlankActivity}: java.lang.ClassNotFoundException: Didn't find class "com.google.testing.helium.utp.android.companion.activities.BlankActivity" on path: DexPathList[[zip file "/data/app/~~nuKxYeiGhIaVgWousL2qKg==/com.google.testing.helium.utp.android.companion.instrumentations.uid-bGXfWki5IFBX613Di56WgQ==/base.apk"],nativeLibraryDirectories=[/data/app/~~nuKxYeiGhIaVgWousL2qKg==/com.google.testing.helium.utp.android.companion.instrumentations.uid-bGXfWki5IFBX613Di56WgQ==/lib/x86_64, /system/lib64, /system_ext/lib64]]
// Details
Exception java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.google.testing.helium.utp.android.companion.instrumentations.uid/com.google.testing.helium.utp.android.companion.activities.BlankActivity}: java.lang.ClassNotFoundException: Didn't find class "com.google.testing.helium.utp.android.companion.activities.BlankActivity" on path: DexPathList[[zip file "/data/app/~~nuKxYeiGhIaVgWousL2qKg==/com.google.testing.helium.utp.android.companion.instrumentations.uid-bGXfWki5IFBX613Di56WgQ==/base.apk"],nativeLibraryDirectories=[/data/app/~~nuKxYeiGhIaVgWousL2qKg==/com.google.testing.helium.utp.android.companion.instrumentations.uid-bGXfWki5IFBX613Di56WgQ==/lib/x86_64, /system/lib64, /system_ext/lib64]]
at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3613)
at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3864)
at android.app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem.java:103)
at android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2253)
at android.os.Handler.dispatchMessage (Handler.java:106)
at android.os.Looper.loopOnce (Looper.java:201)
at android.os.Looper.loop (Looper.java:288)
at android.app.ActivityThread.main (ActivityThread.java:7870)
at java.lang.reflect.Method.invoke
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1003)
Caused by java.lang.ClassNotFoundException: Didn't find class "com.google.testing.helium.utp.android.companion.activities.BlankActivity" on path: DexPathList[[zip file "/data/app/~~nuKxYeiGhIaVgWousL2qKg==/com.google.testing.helium.utp.android.companion.instrumentations.uid-bGXfWki5IFBX613Di56WgQ==/base.apk"],nativeLibraryDirectories=[/data/app/~~nuKxYeiGhIaVgWousL2qKg==/com.google.testing.helium.utp.android.companion.instrumentations.uid-bGXfWki5IFBX613Di56WgQ==/lib/x86_64, /system/lib64, /system_ext/lib64]]
at dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:218)
at java.lang.ClassLoader.loadClass (ClassLoader.java:379)
at java.lang.ClassLoader.loadClass (ClassLoader.java:312)
at android.app.AppComponentFactory.instantiateActivity (AppComponentFactory.java:95)
at android.app.Instrumentation.newActivity (Instrumentation.java:1285)
at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3600)