UnityでAndroidのapkをビルドしようとしてエラー発生
ひさしぶりにUtnityのアプリをAndroidでリリースしようと思い、まずは自分のアンドロイド端末で確認するためapkを作ろうとビルドしたら以下のようなエラーが発生。
Gradle Error:Min SDK in Manifest
The minSdk version can not be specified in the AndroidManifest.xml file. you have to remove it. (See the Console for details)
minSdkは、UnityのBuild Settings→Player Settings…→PlayerタブのMinimum API Level(Unityアプリが動作するのに最低限必要なAndroidのAPIバージョン)で設定しているのだが、AndroidManifest.xmlからは削除してくれと言っているようだ。ちなみにこの時は、minSdkは19に設定していた。
結論から言うと解決法を調べてビルドは通すことができたので、やったことをメモしておく。
開発環境
Windows 10 Home
Unity 2020.3.1.f1(LTS)
AndroidManifest.xmlのminSdkを削除
エラーメッセージでググッてみると、公式のドキュメントには、AndroidManifest.xmlのuses-sdk android:minSdkVersionの記述を消去して、代わりにbuild.gradleファイルにminSdkバージョンを記述しろとのこと。
とりあえずUnityのプロジェクトディレクトリ内で「AndroidManifest.xml」を検索してみたところ、全部で12個あったのだが、そのうちファイルのパスが\Assets\Plugins\Androidのものを書き換えれば良いようだ。このマニフェストファイルを開くと
<uses-sdk android:minSdkVersion="19" />
という記述があったので、一応バックアップを取っておいてから公式ドキュメントに従って記述を削除して保存。
ちなみに、同じくUnityのプロジェクトディレクトリ内で「build.gradle」を検索してみたところ、4つ見つかったのだが、そのうちの1つで
defaultConfig { minSdkVersion 19 targetSdkVersion 29 (省略) }
のような記述があったので、公式ドキュメントに書いてある「build.gradleファイルにminSdkバージョンを記述しろ」という内容は多分大丈夫なんじゃないかなと思う。
この状態でBuildしてみたところ、無事にapkのビルドを通すことができるようになった(厳密に言うと、このあと一度Unityを再起動することになった。詳細はこちらの記事を参照してください)。今のところこの方法で問題は起きてないが、何か問題があったらまた追記したいと思う。
「【Unity2020.3】Android用のapkをビルドしようとしたら「Gradle Error: Min SDK in Manifest」と表示されたときの対処」に1件のコメントがあります
匿名
(2021年6月7日 - 9:26 AM)助かりました!ありがとうございます!!