Unity2019.4.29にプロジェクトをアップデートして、アプリをビルドしようとしたところ下のようなエラーが出てAABが吐き出せなかった時の解決方法のメモ。
Android resource linking failed <プロジェクトまでのパス>\Temp\gradleOut\launcher\build\intermediates\merged_manifests\release\AndroidManifest.xml:39: error: unexpected element <queries> found in <manifest>.
結論から言うと、Gradleプラグインバージョンを変更で解決した。
ProjectSettingsでTarget API LevelをAutomaticにしている→API Level 31(2019.4.29はそうなってる)になったので、 Android11とか関連の問題が絡んできたみたい。
<queries>
要素がデフォルト指定されてる3.4.0だと対応してないので、3.4.3にバージョンを上げる必要があったようです。
↓のサイトに詳細あります。
android-developers.googleblog.com
なので、Gradleプラグインバージョンを3.4.3に指定して解決します。
手順は以下の通り。
Custom Base Gradle Templateを有効にする
まずはCustom Base Gradle Templateを有効にする。 既に使用しているのであれば、そのまま使用する
classpathを編集
↑で作成した baseProjectTemplate.gradle のclasspathの部分を編集して、3.4.3を使用するように変更する
dependencies { classpath 'com.android.tools.build:gradle:3.4.0' ←こうなっているのを classpath 'com.android.tools.build:gradle:3.4.3' ←こうする }
ビルド
編集したらビルドしてみる。
無事にaabファイルが作成されるようになった。