先日、googleplayにアプリのアップデートファイルを上げようとしたところ、以下のエラーが出てしまいました。
アップロードされた APK または Android App Bundle には、インテント フィルタを使用するアクティビティ、アクティビティ エイリアス、サービス、またはブロードキャスト レシーバが含まれていますが、'android:exported' プロパティ セットは使用されていません。このファイルは Android 12 以降にはインストールできません。詳細: developer.android.com/about/versions/12/behavior-changes-12#exported
この時に私のやったことを備忘録としてあげておきます。
解決法:すでにあるマニフェストファイルを置き換える
一度ビルドしたプログラムでしたので、
Windows>ProgramFiles>Unity>Editor>Data>PlaybackEngines>AndroidPlayer>Apk
と開き、マニフェストファイルを見つけました。
xmlファイルですので、持っているVisualStudioで開くことができました。
こちらの記事を参考に、application内のactivitiyにandroid:exported = trueまたはfalseを書き込みます。
私の場合、この方と同じようにintent-filterという項目の中にLAUNCHERの文字があったのでtrueにしましたが、無い場合はfalseでいいと思います。
そのまま保存してビルドすれば良いのですが、「この場所に保存するアクセス許可がありません。管理者に連絡してアクセス許可を取得してください」と出て、保存を拒否されてしまったので、その場合の対処法の書かれたサイト様を貼っておきます。
保存できないフォルダを右クリック→プロパティ→セキュリティタブ→編集ボタン→「グループ名またはユーザー名」の中から選択→下のアクセス許可の必要な項目(「変更」と「書き込み」)にチェックを入れる→OKボタン
です。
マニフェストを「名前を付けて保存(前と同じ名前にする)」して、もともとあったマニフェストファイルを捨てます。ビルドすればOKです。