あるべるのIT関連メモ

素人エンジニアが何かするときに困ったものなどを参考程度にメモっておこうかと

Android build-tools 31.0.0 ビルドエラー回避方法

windows環境について書いています。MacLinuxではパス名等を適宜読み替えてください。

// SDK version関連部分のみ

android {
    compileSdkVersion 31
    buildToolsVersion "31.0.0"

    defaultConfig {
        targetSdkVersion 31
    }
}

Android Appビルド環境をAndroid 12に対応させるためにcompileSdkVersionとあわせてbuildToolsVersionおよびtargetSdkVersionを31とすると

"Installed Build Tools revision 31.0.0 is corrupted. Remove and install again using the SDK Manager."

とエラーが出てgradleビルドが失敗する。 エラー内容をよく見るとdx.batやdx.jarが無いということらしい。

build-tools30.0.xではdx.bat、lib\dx.jarとともにd8.bat、lib\d8.jarがあるが31.0.0ではd8しか存在しない。

C:\Users{User Name}\AppData\Local\Android\Sdk\build-tools\31.0.0\d8.bat C:\Users{User Name}\AppData\Local\Android\Sdk\build-tools\31.0.0\lib\d8.jar

ファイルをそれぞれコピーしてdx.bat、lib\dx.jarとリネームしてあげればエラーは解消してビルドが通るようになる。 (コピーせずに単純にリネームするだけでも可)