Android Studio中的Ionic Cordova(未找到已安装的构建工具)

DAG*_*DAG 5 android cordova android-studio ionic2

我开发了离子2,我试图在Android Studio中打开项目(来自离子android构建).

我收到以下错误:

错误:未找到已安装的构建工具.请安装Android构建工具版本19.1.0或更高版本.

问题是已经安装了Build Tool:

在此输入图像描述

我正在使用最新版本的cordovaionic2.

有什么想法吗?

Une*_*eXp 11

你应该参考doFindLatestInstalledBuildToolscordova.gradle文件中的方法:

String doFindLatestInstalledBuildTools(String minBuildToolsVersion) {
    def availableBuildToolsVersions
    try {
        availableBuildToolsVersions = getAvailableBuildTools()
    } catch (e) {
        println "An exception occurred while trying to find the Android build tools."
        throw e
    }
    if (availableBuildToolsVersions.length > 0) {
        def highestBuildToolsVersion = availableBuildToolsVersions[0]
        if (compareVersions(highestBuildToolsVersion, minBuildToolsVersion) < 0) {
            throw new RuntimeException(
                "No usable Android build tools found. Highest installed version is " +
            highestBuildToolsVersion + "; minimum version required is " +
            minBuildToolsVersion + ".")
        }
        highestBuildToolsVersion
    } else {
        throw new RuntimeException(
        "No installed build tools found. Install the Android build tools version " +
            minBuildToolsVersion + " or higher.")
    }
}
Run Code Online (Sandbox Code Playgroud)

显然,getAvailableBuildTools()返回空数组:

String[] getAvailableBuildTools() {
    def buildToolsDir = new File(getAndroidSdkDir(), "build-tools")
    buildToolsDir.list()
        .findAll { it ==~ /[0-9.]+/ }
        .sort { a, b -> compareVersions(b, a) }
}
Run Code Online (Sandbox Code Playgroud)

在我的情况下,System.getenv("ANDROID_HOME")返回getAndroidSdkDir()方法中的错误路径,因此解决方案是:

  1. 只需System.getenv("ANDROID_HOME")用您真实的Android SDK路径替换(但您应该记住SDK位置在其他PC上有所不同)
  2. 设置$ANDROID_HOME环境变量的正确路径
  3. 您可以在build.gradle文件中手动设置构建工具版本并跳过上述调用方法(确保为应用程序中的所有模块设置它):

    android {buildToolsVersion"your_version_here"}