![](https://blog-program-eye.com/wp-content/uploads/2023/09/PCとAndroidをつなぐ1.png)
ゲームエンジンUnityで
Androidアプリを作って、
それをAndroid端末に
USBケーブルでつないで
移すには、
apkファイルにビルド(変換)
しなければなりません。
その為には
Android Studioという
アプリが必要で
Androidアプリ開発に必要な
SDK
はデフォルトで
C:¥User¥AppData¥Local
¥Android¥Sdk
に格納されます。
ところが
Unity2021.1までは
Android Studioの
SDK
の他に
Unityをインストールする時に
Unityと同時にインストールされる
Android SDKをモジュールとして
使ってもできます。
格納先が
C:¥Program Files¥Unity¥Hub
¥Editor¥2021.1f1
¥Editor¥Data¥PlaybackEngines
¥AndroidPlayer¥SDK
になります。
コマンドプロンプトで
Androidのプラットフォームを
インストールするには
C:¥Program Files¥Unity¥Hub
¥Editor¥2021.1f1
¥Editor¥Data¥PlaybackEngines
¥AndroidPlayer¥SDK
¥tools¥bin
¥sdkmanager.bat “platforms;
android-31″
とすれば
APIをインストールできます。
ところが
それをしても
2021.2からは
Exception in thread “main”java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
となります。
同じような症状の人は
他にもいるようで
Android Studioの中の
JavaをPATHに設定するといいと
書いてます
が
なんかうまくいきません。
今までは
Android Studioで
自分のプラットフォームの
ツールをインストールして
Player Settingに
記載すれば簡単だったのに
なんでこんな
手動で
プラットフォームを
インストールしたり
JDKの場所まで
変更になったりしたのか
わけわからない。
Unity2021.2
(2021年10月25日)からは
「Gradle build failed」
![](https://blog-program-eye.com/wp-content/uploads/2023/09/Gradle地獄-1024x494.png)
というのが出てきます。
まず
apkファイルに
ビルドしようとすると
この画面が出てきます。
![](https://blog-program-eye.com/wp-content/uploads/2023/09/Android-SDK-is-missing.png)
Android Studioで
sdkのAPIバージョンを
設定したのにもかかわらず
「Update Android SDK」
しなさいと
警告が出ます。
![](https://blog-program-eye.com/wp-content/uploads/2023/09/BuildSetting-SDKバージョン-1024x137.png)
今までは
Target API Levelは
「Automatic (highest installed)」
でよかったのだけれど
デフォルトだと
API28までしか
設定できなくなったみたいで
API29以上は
デフォルトでは
できなくなったので
Android Studioではなく
Unityをインストールする時
一緒にインストールされる
Androidモジュールの
sdkmanager.batで
コマンドで
インストールしなければ
ならなくなりました。
先ほど説明した通り
C:\Program Files\Unity\Hub\Editor\2021.2\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\bin>sdkmanager.bat “platforms;android-31”
でAPIがインストールされる
はずだったんです。
でもこれで設定しても
「Gradle build failed」となります。
![](https://blog-program-eye.com/wp-content/uploads/2023/09/Gradle地獄-1-1024x494.png)
![](https://blog-program-eye.com/wp-content/uploads/2023/09/Gradleバージョン-1024x402.png)
Unityのバージョンによって
Gradleのバージョンと
Gradle プラグインのバージョンを
変えなければならないみたいなので
Edit > Preferences >
External Tools >
Gradleの欄に
C:\gradle-6.1.1
とし、
File > Build Setteings >
Player Settings >
Publishing Settings >
Build > Custom Base Gradle Template
にチェックを入れ
Assets > Plugins > Android > basePlojectTemplate.gradle
のclasspathを4.0.1に変える。
でもやっぱり
「Gradle build failed」となります。
Unity2021.1までは
Target API Levelは
「Automatic (highest installed)」で
できます。
![](https://blog-program-eye.com/wp-content/uploads/2023/09/BuildSetting-SDKバージョン-1-1024x137.png)
でも
Unity2021.2からは
どうやっても
「Gradle build failed」が
出ます。
Gradleプロジェクトにして
エクスポートして
Android Studioにインポートして
ビルドすればいいと
色んなサイトに
載っているので
次回は
これを試してみたいと
思います。