[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

<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)