なえ箱

メモを植えます

error: unexpected element <queries> found in <manifest>の解決方法【Unity】

この記事をシェアする

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>.

f:id:nae3na:20210818191952p:plain

結論から言うと、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を有効にする。 既に使用しているのであれば、そのまま使用する

f:id:nae3na:20210818191955p:plain
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' ←こうする
}

f:id:nae3na:20210818191956p:plain

ビルド

編集したらビルドしてみる。

無事にaabファイルが作成されるようになった。

f:id:nae3na:20210818192007p:plain
無事にaabが作成された