Open3

Unityメモ

TytoTyto

UnityでAndroid API 31でビルドできない問題

Unity 2021.3.12f1

  1. UnityにAndroidのレベル31のAPKが入ってなかったのでUnityのsdkmanager.batからインストールしようとする。
  2. Java8がないとsdkmanager.batが使えないのでJava8を入れる。
  3. なんとなくbuild-tool 31.0.0も入れる。
  4. Java11じゃないとビルドできないという情報を見たのでJava11を入れる。
  5. 最終的に以下の操作でビルドできるようになった。

https://stackoverflow.com/questions/68344424/unrecognized-attribute-name-module-class-com-sun-tools-javac-util-sharednametab

In my case - the error turned out to be using an old version of Android Gradle Plugin (3.6.4), after update Unity to v2020.3.33 (also as 2021.3.0).

In one of the updates Unity - updated and version of Gradle, which was not compatible with the old version of the plugin.

Solution

Download Android 12 (API 31) - Unity automatically uses it as a Target API (Android 12L (API 32) is also possible - doesn't really matter)

Set Android Gradle Plugin version to 4.0.1 in the file baseProjectTemplate.gradle

classpath 'com.android.tools.build:gradle:4.0.1'

Android Build Tools leave version 30.0.+ (as with 31 and above - so far incompatible with Unity)

どの操作が必須なのかはわからない。