Cat Shrine

Unityを使ってAndroid,iOS向けにゲームを作っています。

Unity製ゲームをAndroid12に対応させる

Unity製アプリをAndoroid12向けにビルドしたらGooglePlayで弾かれた

環境 Unity 2020.3.26f

アプリの更新をするべく、いつものようにabbを書き出し、GooglePlayに上げた所、下記の警告が出て弾かれてしまいました。

 

アップロードされた APK または Android App Bundle には、インテント フィルタを使用するアクティビティ、アクティビティ エイリアス、サービス、またはブロードキャスト レシーバが含まれていますが、'android:exported' プロパティ セットは使用されていません。このファイルは Android 12 以降にはインストールできません。詳細: developer.android.com/about/versions/12/behavior-changes-12#exported

f:id:AGB5002:20220122222650j:plain

 

Andoroid12に対応するためには、Project Settings > Player > Android > Build > Custom Main Manifestにチェックを入れたときに出てくるAndroidManifest.xmlに「android:exported="true"」を追記すれば、警告が出なくなるらしい。

 

 

修正→ビルドしても警告は出たまま

AndroidManifest.xmlを修正→ビルドしても警告は消えませんでした。

Unityのバージョンを上げたり、色々試してみたものの結果は変わらず。

 

空のプロジェクトに使用プラグインを1コ1コ追加して確認してみたところ、Social ConnectorのAndroidManifest.xmlに追記漏れがあることが分かりました。

このファイルにactivityタグにandroid:exported="true"を追記→ビルド。でも警告は消えないまま。

(空のデータにSocialConnectorのプラグインを入れてビルドしたaabに、エラーが出なかったのでこれはひょっとすると関係なかったかもです)

 

次にPackageManagerを起動し、1つ1つPacageを消して検証した所Mobile Notificationsを消すとこのエラーが出なくなりました。

これはプッシュ通知を行うためのパッケージで、追記が必要なAndroidManifest.xmlらしいファイルはとくに見当たりませんでした。

 

まとめ

詳しい事はよく分かりませんでしたが、プッシュ通知を諦めたらビルドが通ったので一旦これでいってみようと思います。

知見を下さった皆様どうもありがとうございました。

 

 

参考

xrdnk.hateblo.jpこの記事は神。ありがとうございます…

 

developer.android.com