Targeting Android 12
Android 12 타겟팅
Android 12 를 대상으로 targetSdkVersion 31 를 적용한 경우에 아래와 같이 조치가 필요합니다.
1. SDK 버전
Android SDK 1.17.6 버전 이상이 필요합니다.
2. Gradle 버전
Gradle 버전 : 6.1.1 이상 필요합니다.
Gradle Plugin 4.0.1 이상 필요합니다.
3. android:exported 값 적용
AndroidManifest.xml 에서 activity, service, receiver 에 intent-filter 가 포함되어 있으면서 android:exported 가 선언되어 있지 않은 경우 경고가 발생하며 앱 설치시 아래와 같이 오류가 발생합니다.
애드엑스 SDK 1.17.6 에는 android:exported 관련하여 수정하였습니다.
Installation did not succeed. The application could not be installed: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED
4. 광고 ID 권한 추가
AndroidManifest.xml 에 아래와 같 Google Play Service 일반 권한을 선언해야 합니다.
<uses-permission android:name="com.google.android.gms.permission.AD_ID" />
5. PendingIntent 오류
AdMob에서 사용중인 WorkManager 버전에 의해 아래와 같은 오류가 발생합니다.
AdMob 20.5.0
버전 이상을 사용하거나WorkManager 2.7.0
버전 이상을 사용하면 해결됩니다.
java.lang.IllegalArgumentException: com.adxcorp.adxdev: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent. Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubble
Last updated