(Android12(API31)以上をビルド対象に含めた時)
リリース時や、アプリ実行時に発生するエラーへの対処法。
何ヶ所を手動で直させる気だ…。
(AdMob導入時)対象端末でアプリ実行するとクラッシュ
- 3月4日に、Unity版も対応済みのVerに更新された。
(多分、上書きしてからForce Resolveすれば良い)
AdMobプラグインのWorkManagerとの依存関係のバグ。
Android版のAdMobプラグインVer20.5.0(執筆時最新)では対応してある。
しかし、Unity版(執筆時最新)に含まれるのが、Ver20.2.0なので手動で直す必要がある。
手順
- 上部メニュー -> Edit -> Project Settings…
- Player -> Publishing Settings -> Custom Main Gradle Templateを有効化。
- 作成された、Assets/Plugins/Android/baseProjectTemplate.gradleを開く。
- implementation ‘com.google.android.gms:play-services-ads:20.2.0’の次の行に以下のコードを追加。
constraints {
implementation('androidx.work:work-runtime:2.7.0') {
because '''androidx.work:work-runtime:2.1.0 pulled from
play-services-ads has a bug using PendingIntent without
FLAG_IMMUTABLE or FLAG_MUTABLE and will fail in Apps
targeting S+.'''
}
}
- *AdMob SDK (Android) Release Notesより一部引用。
- External Dependency Managerで、Force Resolveを実行すると設定が上書きされるので注意。
(通常のResolveはOk)
参考リンク
![](https://www.zkn0hr.com/wp-content/uploads/cocoon-resources/blog-card-cache/259a8083d2a26f858a790fdb731b05ea.png)
Release Notes | Android | Google for Developers
Release Google Mobile Ads Unity Plugin v6.1.2 · googleads/googleads-mobile-unity
Plugin: Fixed Github issue 1786 related to GoogleMobileAdsSettings. Fixed issue related to missing GADUAdNetworkExtras.h...
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JUUzJTgwJTkwJUU2JTlCJUI0JUU2JTk2JUIwJTJGJUU4JUE3JUEzJUU2JUIxJUJBJUUzJTgwJTkxQW5kcm9pZDEyJUUzJTgxJUFCJUUzJTgxJTk3JUUzJTgxJTlGJUUzJTgyJTg5JUUzJTgwJTgxRkxBR19JTU1VVEFCTEUlRTMlODElQkUlRTMlODElOUYlRTMlODElQUZGTEFHX01VVEFCTEUlRTMlODIlQTglRTMlODMlQTklRTMlODMlQkMlRTMlODElQTclRTMlODIlQTIlRTMlODMlOTclRTMlODMlQUElRTMlODElOEMlRTglQjUlQjclRTUlOEIlOTUlRTMlODElOTclRTMlODElQUElRTMlODElODQmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtY2xpcD1lbGxpcHNpcyZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWIyYzA2MWE5NTdmNDczMTRiMTI4ZmE0MzUxOGNmNjcw&mark-x=142&mark-y=112&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwVEFLQU5FS09NQUNISSZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9NmY0MjdlYmI1OTk2MGM5MGRjNzQwZDgwMjk0N2Y0MjU&blend-x=142&blend-y=491&blend-mode=normal&s=2ce612a1d532d2fd27c9ae34cc1510ca)
【更新/解決】Android12にしたら、FLAG_IMMUTABLEまたはFLAG_MUTABLEエラーでアプリが起動しない - Qiita
#概要2021/10/20にGoogle Pixel系(Pixel3以降)にAndroid12(Android S、 API31)が配布されたので遅ればせながら、自作アプリの動作確認をしてみた。…
GooglePlayへアップロード時に警告 (対象端末にインストール出来ない)
(AndroidManifestへ、android:exported属性の設定を明示していない場合)
アップロード時に以下の警告文が表示される。
アップロードされた APK または Android App Bundle には、インテント フィルタを使用するアクティビティ、アクティビティ エイリアス、サービス、またはブロードキャスト レシーバが含まれていますが、’android:exported’ プロパティ セットは使用されていません。このファイルは Android 12 以降にはインストールできません。
詳細: developer.android.com/about/versions/12/behavior-changes-12#exported
Google Play Consoleのアプリのアップロード画面
手順
- 上部メニュー -> Edit -> Project Settings…
- Player -> Publishing Settings -> Custom Main Manifestを有効化。
- 作成された、Assets/Plugins/Android/AndroidManifest.xmlを開く。
- android:theme=”@style/UnityThemeSelector”>の末尾の>を消す。
- その次の行に以下のコードを追加。
android:exported="true">