[Cordova] 編譯時找不到 Android Build Tool?
剛解決 Cordova 編譯時出現 Gradle 版本太舊的訊息,
接著又遇上另一個錯誤訊息,說找不到 Android 的 build tool:
* Where: Script '/Users/testuser/project/platforms/android/CordovaLib/cordova.gradle' line: 68 * What went wrong: A problem occurred evaluating project ':app'. > No installed build tools found. Install the Android build tools version 19.1.0 or higher.
這真的是有點奇怪,我明明就裝了 Android SDK Build-Tools 30.0.0-rc4 這個最新版本,
還在 Release Candidate 階段,就已經在用了耶!
換了一下 rc2 和 rc1 版本也不行…
看一下 cordova.gradle,看到了下面這一段,
是用來搜尋 Build Tool 的路徑:
String[] getAvailableBuildTools() { def buildToolsDir = new File(getAndroidSdkDir(), "build-tools") buildToolsDir.list() .findAll { it ==~ /[0-9.]+/ } .sort { a, b -> compareVersions(b, a) } }
雖然對 Gradle 的語法一竅不通,
不過大概可以猜出來,它是要找 <Android SDK 目錄>/build-tools/<tool 目錄>,
而這個 <tool 目錄> 必須是包含 0~9 的數字或是 ‘.’。
如果猜想沒錯的話,平常的版本號是 30.0.0 會符合,
但 30.0.0-rc4 就不符合 (因為有 -rc 這幾個字元)…
這個 cordova.gradle 是 Cordova 自己的東西,
不想去改它,直接到 Android SDK Manager,
安裝較舊版的 29.0.3 Build Tools,把 30.0.0-rc4 取消掉:
再重新編譯,就可以成功了。
Cordova 這邊的測試廣度真的是有待加強呢…
(本頁面已被瀏覽過 1,799 次)