Unity2019 で Android の Tareget API を 30 に設定するための手順です。
中々エラーが出て解決までに時間がかかったので、
同じ轍をふまないように誰かの役に、未来の自分のために。
注意
色々書いてありますが、
実は Unity 2019のAndroid Build SupportでもAPI Level 29でビルドできるようにする を参考に、
素直に Unity に従って Update したほうが楽という事実が・・・。
エラーが出てしまって解決したい方などは、以下参照ください。
前提
- Windows 10
- Unity 2019.4.22f1
- Android Build で Target API Level を 30 で設定
概要手順
- Target API Level 30 に設定する
- SDK を入れる
- SDK Tools を 30.0.2 にダウングレードする
- ビルド
数々のエラーたち
Error : Required API level 30
Target API Level を 30 にしてビルドしようとするとエラーになる。
エラー詳細
UnityException: Required API level 30.
原因と対応
- 原因:対応している SDK がないため
- 対応:対応しているSDKを入れる
手順
- Android Studio をインストール(参考のサイトを参照)
- SDK Manager を起動して SDK をインストール(参考のサイトを参照)
- Unity を開いて、Edit -> Preferences -> External Tools の Android SDK Tools... のチェックを外し、2 でインストールした場所に設定する
参考
Error : Gradle build failed.(パート1)
ビルドすると、Gradle build failed. See the Console for details が出てエラーになる。
エラー詳細
3つほどエラーが出ていたが、実質意味ありそうなのは一つだけ。
CommandInvokationFailure: Gradle build failed.
(略)
* What went wrong:
A problem occurred evaluating project ':launcher'.
> Failed to apply plugin [id 'com.android.internal.version-check']
> Minimum supported Gradle version is 5.6.4. Current version is 5.1.1. If using the gradle wrapper, try editing the distributionUrl in C:\work\01_source\sb-idle-shooting\Temp\gradleOut\launcher\gradle\wrapper\gradle-wrapper.properties to gradle-5.6.4-all.zip
(略)
原因と対応
- 原因:設定しているパラメータに対し gradle のバージョンが古いため
- 対応:新しい gradle を入れる
手順
- gradle をインストール
- Unity を開いて、Edit -> Preferences -> External Tools の Gradle Installed... のチェックを外し、1 でインストールした場所に設定する
Error : Gradle build failed. (パート2)
ビルドすると、Gradle build failed. See the Console for details が出てエラーになる。
(見た目はError2と同じ。詳細を見ないと違いはわからない)
エラー内容
4つほどエラーが出ていたが、結局は一つ。
Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01
(略)
* What went wrong:
Could not determine the dependencies of task ':launcher:compileReleaseJavaWithJavac'.
> Installed Build Tools revision 32.0.0 is corrupted. Remove and install again using the SDK Manager.
(略)
他も同じことを言われていた。
CommandInvokationFailure: Gradle build failed.
(略)
* What went wrong:
Could not determine the dependencies of task ':launcher:compileReleaseJavaWithJavac'.
> Installed Build Tools revision 32.0.0 is corrupted. Remove and install again using the SDK Manager.
(略)
原因と対応
原因:こちらより Android Gradle Plugin と build-tools の互換性の問題だった。
対応:build-tools のバージョンが 30.0.2 以下のものを入れる。
ちなみ言われた通りに削除してインストールしても同じエラーになる。
手順
- Android Studio を起動
- Tools -> SDK Manager を選択
- 左ペインで Apperace & Behavior / System Settings / Android SDK を選択し、右ペインで SDK Tools タブを選択
- Show Package Details にチェックを入れる。(と古いバージョンを選択できるようになる)
- 新しいバージョンのチェックを外し、30.0.2 にチェックを入れて、Applyを押す。
Error : android sdk build-tools component is not found
ビルドすると、以下ポップアップが表示されてビルドできない。
android sdk build-tools component is not found. make sure all tools are installed in the sdk manager
原因と対応方法
- 原因:謎
- 対応方法:Unity 再起動
参考
解決方法はこちらから