I develop in ionic 2 and I\'m trying to open the project (from ionic android build) in Android Studio.
I get the following error:
Error:No ins
You should refer doFindLatestInstalledBuildTools
method in cordova.gradle file:
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.")
}
}
Obviosly, getAvailableBuildTools()
returns empty array:
String[] getAvailableBuildTools() {
def buildToolsDir = new File(getAndroidSdkDir(), "build-tools")
buildToolsDir.list()
.findAll { it ==~ /[0-9.]+/ }
.sort { a, b -> compareVersions(b, a) }
}
In my case, System.getenv("ANDROID_HOME")
returned wrong path in getAndroidSdkDir()
method, so the solutions are:
System.getenv("ANDROID_HOME")
with your real Android SDK path (but you should remember that SDK location differs on other PCs)$ANDROID_HOME
environment variableYou can set build tool version manually in build.gradle
files and skip calling methods described above (be sure to setup it for all the modules in the app):
android { buildToolsVersion "your_version_here" }
I had similar issue. I fixed it by changing the Project structure as follows: