Androidアプリ開発中に遭遇
▼ ビルド中にこういうエラー
初めて見たエラーです。
直すのに少しだけ苦戦したので、
このエラーの原因とか直し方を記録しときます。
このページの目次 [隠す]
AdMobを最新にアップデートしたときに発生
キッカケはAdMobライブラリを更新したとき
▼ build.gradleでこういう記述をしていた
今までは 18.3.0 を使っていたのですが、Android Studio が「最新版の19.8.0を使ったほうがいいよ」と提案してきたからアプデすることにしました。
▼ そこで最新版を入れようとしたが・・
▼ 冒頭の謎エラーに遭遇してしまった
マニフェストファイル内に <queries> というタグが見つからないというエラーが出てます。アプリではなくPlay-Services-adsのManifest.xml で起きたみたいです。
そこで試行錯誤して直すことに
このエラーを直すまでに行ったこと
次の2つを試したらエラーが消えました。
Gradleそのもののバージョンを上げる
まずはGradleのバージョンを上げました。
バージョンはbuild.gradleに定義されてます。
▼ プロジェクトレベルのbuild.gradleの次の部分
これが 3.5.3 になっていますが、現在は4.0.2が使用可能
▼ このように修正
修正後は [Sync Now]するのも忘れずに
2.Gradleの最小バージョンを引き上げる
そしたら別のエラーが出てしまいました。
どうやらGradleの最低バージョンを6.1.1にしろと言っているようです。ここでのバージョンはbuild.gradleで定義されたバージョンではなく配布バージョンのことです。
そこでgradle.wrapper.propertiesを編集しました。
▼ 修正する前の内容
▼ このように修正した
そして[Sync Now]を押すとエラーが解消!
ビルドも正常に行えるようになりました。
あとAdMobも最新版にアップデート完了
unexpected element <queries>... の対処法まとめ
ということで原因と対処法をまとめます。
- 原因
一部のライブラリをアップデートしようとしたとき、Gradleが最新バージョンが必要なことがある。それが未対応の場合、このエラーが出るのかもしれない
- 対処
まずプロジェクトレベルのbuild.gradleでGradleバージョンを最新にアップデート。そのあとgradle.wrapper.propertiesにて最初バージョンも引き上げた
大抵はこれで解決するはずです。
もし間違いなどあればご指摘ください。
ではまた バイバイ(^^)/~~~