错误:原因:未指定buildToolsVersion

时间:2015-08-22 07:27:31

标签: android android-studio

我创建了一个简单的项目,然后右键单击该项目,然后使用make mudole app选项。现在我有两个build.gradle个文件夹:1- build.gradle:project My Application。 2- build.gradle: Mudole app。第一个build.gradle如下:

// Top-level build file where you can add configuration options common to all sub-projects/modules.
apply plugin: 'com.android.library'
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

第二个Build.gradle文件夹如下:

 apply plugin: 'com.android.application'
android {
    compileSdkVersion 23
    buildToolsVersion "23.0.0"

    defaultConfig {
        applicationId "com.exam.exam.myapplication"
        minSdkVersion 7
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

现在我点击run选项从这个项目创建aar文件但是我收到以下错误:

Error:Cause: buildToolsVersion is not specified.

12 个答案:

答案 0 :(得分:78)

我有同样的问题。我做错了是将apply plugin语句放在项目的根gradle中。当我把它放在app gradle中时,问题就解决了。

我建议的是检查你是否在根目标中放置了一些你应该放在app gradle中的声明。

答案 1 :(得分:8)

buildToolsVersion 属性添加到本地build.gradle文件中。

android {
    compileSdkVersion 27
    buildToolsVersion "26.0.1"

    defaultConfig {
        targetSdkVersion 27
    }
}

根据您的要求!!然后尝试构建 - >你会得到构建失败和这条消息:

  

无法找到Build Tools修订版26.0.1

     

安装Build Tools 26.0.1并同步项目

然后单击以安装构建工具,您的项目已配置好,您就可以开始了!

答案 2 :(得分:7)

文件中的

... build.gradle(项目:XXX):

repositories{
     //put pluging repository here
     //e.g.:
     mavenCentral()
}
dependencies{
     //classpath to plugin here
     classpath 'com.XXXX.xXXxxXX.XXXX' 
}

in file .... build.gradle(Module:app)

//add on top:
apply plugin: 'com.YOUR.PLUGIN.XXX'

答案 3 :(得分:7)

buildToolsVersion 添加到您的build.gradle文件中,这将解决您的问题。

buildToolsVersion "27.0.1"

Gradle文件代码

 android{
          compileSdkVersion 27
          buildToolsVersion "27.0.1"
          useLibrary 'org.apache.http.legacy'
        }

答案 4 :(得分:3)

对我来说,问题是andorid-versionCode只能是整数值。 在build.xml中:

例如:机器人-的versionCode =" 1"

它不能是" 1.1"等等... 错误代码根本没用。

答案 5 :(得分:1)

不确定底层问题是什么,但我发现了正在发生的并发问题的解决方案: https://stackoverflow.com/a/32490472/1544046

基本上,我必须更改我的gradle目标以使用包装器而不是已定义的路径。我过去曾将它设置为Gradle Wrapper,但它似乎不时会在没有通知的情况下恢复。一旦我切换回来并重新编译它就可以了。

在项目的设置中:构建,执行,部署 - >构建工具 - > Gradle并选择"使用默认的gradle包装"。

答案 6 :(得分:1)

可能对某人有帮助: 就我而言,很久以前,我已经在Android的build.gradle文件中添加了密钥库属性:

def keystorePropertiesFile = rootProject.file("keystore.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

一段时间后,我撤回了仓库,却忘记添加此文件(“ keystore.properties”)。

由于某种原因(!),Gradle给了我同样的错误(buildToolsVersion在下面的build.gradle文件中定义了一点)。 解决方法是添加丢失的“ keystore.properties”文件。

答案 7 :(得分:0)

Android项目> setting.gradle

include ':app' , ':xxx'

我导入了一个模块,这就搞定了这个错误。我删除它是固定的。

include ':app'

答案 8 :(得分:0)

检查build.gradle中的android studio版本是否与您正在运行的版本相同。

buildscript {

   repositories {
       google()
       jcenter()
   }
 dependencies {
    classpath 'com.android.tools.build:gradle:3.0.0'


    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
  }
}   

在我的情况下,我在android studio 3中打开/导入了在android studio 2.3.3上创建的项目,我在用3.0.0更新build.gradle后能够摆脱这个问题

答案 9 :(得分:0)

对我来说,这是一个额外的类路径行,例如:

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

所以我删除了第一个

classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0'

问题解决了

答案 10 :(得分:0)

我有同样的错误,我使用cordova并通过删除空格字符来解决

  

id="com.xx.yy " => to id="com.xx.yy"

答案 11 :(得分:-5)

尝试使缓存/重启无效,更新后修复此问题 <强>文件&GT;使缓存无效/重新启动