[Cordova] 編譯時找不到 Android Build Tool?

[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 這邊的測試廣度真的是有待加強呢…

(本頁面已被瀏覽過 8 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料