[android]IllegalStateException:buildToolsVersion 未指定

发布时间: 2016/9/26 4:14:29
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我的项目由两个模块组成,一个是 application 模块等是库模块。我 build 精细处理作品,直到我添加了两个 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'
}

我不觉得有什么错误 build 文件,但我得到了一个错误,当我运行 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$10$1.call(BasePlugin.java:572)
    at com.android.build.gradle.BasePlugin$10$1.call(BasePlugin.java:569)
    at com.android.builder.profile.ThreadRecorder$1.record(ThreadRecorder.java:55)
    at com.android.builder.profile.ThreadRecorder$1.record(ThreadRecorder.java:47)
    at com.android.build.gradle.BasePlugin$10.execute(BasePlugin.java:568)
    at com.android.build.gradle.BasePlugin$10.execute(BasePlugin.java:565)

* Where:
Build file '/home/lic/code/private/github/looping-banner/banner/build.gradle' line: 3

这个问题为何发生以及如何解决这个问题?

我搜索的一些答案,但是不适合我,还有有点不对劲,导入的两个插件吗?

解决方法 1:

好的经过了很多关于这一问题的合订本,我终于做到了。

我使用 Gradle 2.14,所以我需要改变

classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'

classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'

有很多的差异,而在这里我们可以看到更多的细节。

官方微信
官方QQ群
31647020