IllegalStateException:buildToolsVersion 未指定
IllegalStateException:buildToolsVersion is not specified
我的项目由两个模块组成,一个是应用程序模块,另一个是库模块。在我添加两个 gradle
插件之前,我的构建过程工作正常:
这是根build.gradle
:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.2'
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.4'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
这是一个库模块build.gradle
:
apply plugin: 'com.android.library'
apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'com.jfrog.bintray'
android {
compileSdkVersion 24
buildToolsVersion "24.0.0"
resourcePrefix "looping_banner_res_"
defaultConfig {
minSdkVersion 16
targetSdkVersion 24
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile 'com.android.support:support-v4:24.1.0'
}
我不认为构建文件有什么问题,但是当我 运行 gradle clean
:
时出现错误
Failed to notify ProjectEvaluationListener.afterEvaluate(), but primary configuration failure takes precedence.
java.lang.IllegalStateException: buildToolsVersion is not specified.
at com.google.common.base.Preconditions.checkState(Preconditions.java:176)
at com.android.build.gradle.BasePlugin.createAndroidTasks(BasePlugin.java:606)
at com.android.build.gradle.BasePlugin.call(BasePlugin.java:572)
at com.android.build.gradle.BasePlugin.call(BasePlugin.java:569)
at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:55)
at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:47)
at com.android.build.gradle.BasePlugin.execute(BasePlugin.java:568)
at com.android.build.gradle.BasePlugin.execute(BasePlugin.java:565)
* Where:
Build file '/home/lic/code/private/github/looping-banner/banner/build.gradle' line: 3
为什么会出现这个问题,如何解决?
我已经搜索了一些答案,但对我不起作用,我导入的两个插件有问题吗?
您在存储库依赖项中缺少 mavencentral()。也许这是导致问题的原因
repositories {
mavenCentral()
}
OK,这个问题找了很多,终于搞定了。
我正在使用 Gradle 2.14,所以我需要更改
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'
到
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'
有很多不同,here我们可以看到更多细节。
在我将版本代码长度从“2017041201”缩短为 8 个字符之前,我遇到了这个错误:
android-versionCode="20170412"
这个问题很老了,但我发现它是因为我遇到了这个问题 -
出于某种原因,我在安装插件时从 Cordova/Ionic 收到此错误。
输入命令时修复了
ionic plugin add foo
而不是(前导space)
ionic plugin add foo
我收到这个错误,因为 ANDROID_HOME 设置为 /usr/local/Caskroom/android-platform-tools/latest
。
我不知道为什么它会设置为上述值。
但在更正此并将其设置为 /Users/<user_name>/Library/Android/sdk/
后,错误消失了。
我有同样的问题,问题是 android-versionCode 中有点,
喜欢:android-versionCode="10001.1"
这对我有用
Remove android / Add android:
cordova platform rm android
cordova platform add android
我的项目由两个模块组成,一个是应用程序模块,另一个是库模块。在我添加两个 gradle
插件之前,我的构建过程工作正常:
这是根build.gradle
:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.2'
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.4'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
这是一个库模块build.gradle
:
apply plugin: 'com.android.library'
apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'com.jfrog.bintray'
android {
compileSdkVersion 24
buildToolsVersion "24.0.0"
resourcePrefix "looping_banner_res_"
defaultConfig {
minSdkVersion 16
targetSdkVersion 24
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile 'com.android.support:support-v4:24.1.0'
}
我不认为构建文件有什么问题,但是当我 运行 gradle clean
:
Failed to notify ProjectEvaluationListener.afterEvaluate(), but primary configuration failure takes precedence.
java.lang.IllegalStateException: buildToolsVersion is not specified.
at com.google.common.base.Preconditions.checkState(Preconditions.java:176)
at com.android.build.gradle.BasePlugin.createAndroidTasks(BasePlugin.java:606)
at com.android.build.gradle.BasePlugin.call(BasePlugin.java:572)
at com.android.build.gradle.BasePlugin.call(BasePlugin.java:569)
at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:55)
at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:47)
at com.android.build.gradle.BasePlugin.execute(BasePlugin.java:568)
at com.android.build.gradle.BasePlugin.execute(BasePlugin.java:565)
* Where:
Build file '/home/lic/code/private/github/looping-banner/banner/build.gradle' line: 3
为什么会出现这个问题,如何解决?
我已经搜索了一些答案,但对我不起作用,我导入的两个插件有问题吗?
您在存储库依赖项中缺少 mavencentral()。也许这是导致问题的原因
repositories {
mavenCentral()
}
OK,这个问题找了很多,终于搞定了。
我正在使用 Gradle 2.14,所以我需要更改
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'
到
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'
有很多不同,here我们可以看到更多细节。
在我将版本代码长度从“2017041201”缩短为 8 个字符之前,我遇到了这个错误:
android-versionCode="20170412"
这个问题很老了,但我发现它是因为我遇到了这个问题 -
出于某种原因,我在安装插件时从 Cordova/Ionic 收到此错误。
输入命令时修复了
ionic plugin add foo
而不是(前导space)
ionic plugin add foo
我收到这个错误,因为 ANDROID_HOME 设置为 /usr/local/Caskroom/android-platform-tools/latest
。
我不知道为什么它会设置为上述值。
但在更正此并将其设置为 /Users/<user_name>/Library/Android/sdk/
后,错误消失了。
我有同样的问题,问题是 android-versionCode 中有点,
喜欢:android-versionCode="10001.1"
这对我有用
Remove android / Add android:
cordova platform rm android
cordova platform add android