追記(2022.03.18)
多くの方の閲覧ありがとうございます。
本エラーはv30.0.3に落とさなくともdx.bat、dx.jarをv30.0.3でコピーして、
それ以上のバージョンに張り付ければ動作するとのことです。
合わせて参考にしてください。
環境
OS : Windows 10
Cordova Ver : v10.0.0
Java Ver : v1.8.0_291
Android SDK : 30, 29(Android 11, 10)
Android Emulator : v30.7.5
Android SDK Platform-Tools : v31.0.2
Android SDK Build-Tools : v31.0.0 → v30.0.3
やりたかったこと
cordova emulate android
をして、エミュレータでアプリを起動したかった。
出たエラー
C:\Users\kr-tukimi\pixie\Pixie>cordova emulate android
Checking Java JDK and Android SDK versions
ANDROID_SDK_ROOT=D:\SDK (recommended setting)
ANDROID_HOME=undefined (DEPRECATED)
Using Android SDK: D:\SDK
Subproject Path: CordovaLib
Subproject Path: app
Starting a Gradle Daemon, 1 incompatible Daemon could not be reused, use --status for details
Build-tool 31.0.0 is missing DX at D:\SDK\build-tools\31.0.0\dx.bat
File C:\Users\kr-tukimi\.android\repositories.cfg could not be loaded.
Build-tool 31.0.0 is missing DX at D:\SDK\build-tools\31.0.0\dx.bat
やったこと
- Java(JDK、JRE)の再インストール → ビルド失敗
- Cordovaのプロジェクトの作り直し → ビルド失敗
- Android SDK Platform-Toolsの再インストール → ビルド失敗
成功方法
Android StudioのSDK Build-Toolsのバージョンダウン(31.0.0 → 30.0.3)
(どうやら、dx.batが31.0.0でなくなったらしい。)
(2021/11/13 追記:右下のShow Package Detailsをクリックするのをお忘れなく)
最後に
ここで躓いて正直キレそうだったので、参考になったら幸いです。
間違っていたりしたら、コメントで教えてください...
(実はこれが初めてのQiitaの記事だったりするので...)