출시 전 테스트 한 폰의 Android 버전은 12,갤럭시 폴드4에서 PlayStore에서 다운로드 한 앱이 실행 자체가 되지 않는 오류 발생함.
Firebase Crashlytics 사용의 필요성을 절실히 느낌..
Android version 13 이상부터 설정해주어야 하는 것들을 설정하지 않아서 발생한 문제라고 현재는 예상하고 있다. => ++ 아래 해결방법 추가
minSdkVersion 21
targetSdkVersion 32
dependencies {
classpath 'com.android.tools.build:gradle:4.2.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.3.10'
}
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip
Firebase Messaging은 Android Version 13부터 새로운 permission을 추가하도록 되어 있다. -> 해당 부분 추가해도 문제가 해결되지 않음
Firebase Crashlytics를 사용하여 android version 13에서 발생하는 오류를 수집하였다.
위의 오류에 대한 토론은 여기를 참고해 볼 수 있다.
내가 flutter_local_notification 라이브러리를 사용하지는 않지만,
FCM을 사용하기 때문에 유사한 알람 권한을 요청하는 로직이 수행될 때 crash가 일어나면서 앱이 종료되었다고 예상하고 있음.
flutter_local_notification 에서 아래와 같은 수정사항을 추가하고 있다.
Enabling desugaring이, Android 12L 이상의 안드로이드 버전에서 Crash를 유발한다 => 이 때문에 WindowManager library를 추가하는 로직은 build.gradle에 추가해주어야 한다.
여기서 Desugaring이란, Android에서 API level 24 이전의 기기에서도 Java 8 API 를 사용할 수 있도록 하는 방법이다.
Desugaring에 대한 자세한 내용은 안드로이드 공식 문서에서 찾아볼 수 있다.
결과적으로 Crashlytics 짱! 좀 더 촘촘하게 Crashlytics를 적용하여 신속하게 오류에 대응할 예정이다.