我在离子2中开发,我试图在Android Studio中打开项目(来自离子android构建)。
我收到以下错误:
错误:未找到已安装的构建工具。请安装Android版本工具19.1.0或更高版本。
问题是已经安装了Build Tool:
我正在使用最新版本的 cordova ionic2 。
有什么想法吗?
答案 0 :(得分:11)
您应该在cordova.gradle文件中引用doFindLatestInstalledBuildTools
方法:
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.")
}
}
显然,getAvailableBuildTools()
返回空数组:
String[] getAvailableBuildTools() {
def buildToolsDir = new File(getAndroidSdkDir(), "build-tools")
buildToolsDir.list()
.findAll { it ==~ /[0-9.]+/ }
.sort { a, b -> compareVersions(b, a) }
}
在我的情况下,System.getenv("ANDROID_HOME")
在getAndroidSdkDir()
方法中返回了错误的路径,因此解决方案是:
System.getenv("ANDROID_HOME")
替换为真正的Android SDK路径(但您应该记住SDK位置在其他PC上有所不同)$ANDROID_HOME
环境变量您可以在build.gradle
个文件中手动设置构建工具版本,并跳过上述调用方法(确保为应用程序中的所有模块设置它):
android { buildToolsVersion&#34; your_version_here&#34; }
答案 1 :(得分:0)
我有类似的问题。我通过如下更改Project结构来修复它: