0. 액트플래시를 타겟 SDK 31로 변경하고 나서 앱 크래시가 발생.
안드로이드 단말 한정 발생으로 게임중에는 생기지 않습니다. (=win32에서 확인 불가)
1. fatal 로그 찍어보니
주된 로그 :
Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent
액트플래시는 기지건설/자원채굴 등의 완료를 통보하기 위해 노티파이 기능을 사용하고, PendingIntent가 여기 있습니다.
해결법은 검색문서마다 조금씩 다른데, 결국 자기 프로그램에 맞는 방법을 찾느라 빙 돌아왔네요.
가장 도움이 된 참조 https://onlyfor-me-blog.tistory.com/467
2. 해결
다음 내용을 처리해 줍니다.
앱 gradle에 의존성 추가
implementation 'androidx.work:work-runtime:2.7.1'
PendingIntent 객체 생성하는 부분을 모두 찾아 마지막 인수를 PendingIntent.FLAG_IMMUTABLE로 변경
매니페스트에 아래 퍼미션 추가
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
이상.
at 2022/09/12 12:21












덧글
애드몹 광고 사용하고 있다면, SDK31 이상으로 올리는 경우 메니페스트에
<uses-permission android:name="com.google.android.gms.permission.AD_ID" />
퍼미션 추가해줘야 합니다.
플레이 콘솔에 SDK32 이상에서 추가하라고 되어 있어서 31은 상관 없는줄 알았네요.