android-错误:原因:未指定buildToolsVersion

我创建一个简单的项目,然后右键单击该项目,然后使用make mudole app选项。 现在我有两个run文件夹:1-aar。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()
    }
}

第二个run文件夹如下:

 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.
developer asked 2019-10-09T11:47:24Z
11个解决方案
78 votes

我遇到过同样的问题。 我做错的是将apply plugin语句放在项目的根目录中。 当我将它放在应用程序gradle中时,问题就解决了。

我建议您检查是否要在根gradle中放置一些应放置在应用gradle中的语句。

Akshay answered 2019-10-09T11:47:45Z
7 votes

在文件中... build.gradle(项目:XXX):

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

在文件中... build.gradle(模块:应用)

//add on top:
apply plugin: 'com.YOUR.PLUGIN.XXX'
RickPat answered 2019-10-09T11:48:21Z
7 votes

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

android {
    compileSdkVersion 27
    buildToolsVersion "26.0.1"

    defaultConfig {
        targetSdkVersion 27
    }
}

根据您的要求! 然后尝试构建->您将获得构建失败和以下消息:

找不到构建工具修订版26.0.1

安装构建工具26.0.1并同步项目

然后单击“安装构建工具”,您的项目就配置好了,一切顺利!!!

DesigningLives answered 2019-10-09T11:49:15Z
7 votes

buildToolsVersion "27.0.1"添加到您的buildToolsVersion "27.0.1"文件中,即可解决您的问题。

buildToolsVersion "27.0.1"

Gradle文件代码

 android{
          compileSdkVersion 27
          buildToolsVersion "27.0.1"
          useLibrary 'org.apache.http.legacy'
        }
Sagar answered 2019-10-09T11:49:54Z
3 votes

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

例如:android-versionCode =“ 1”

不能是“ 1.1”,等等。错误代码根本没有帮助。

Srikanth Nutigattu answered 2019-10-09T11:50:34Z
1 votes

不太确定潜在的问题是什么,但是我在发生的并发问题中找到了解决方案:[https://stackoverflow.com/a/32490472/1544046]

本质上,我必须更改gradle目标以使用包装器而不是已定义的路径。 我过去曾将它设置为Gradle Wrapper,但它似乎会不时地还原而不会发出通知。 一旦我切换回并重新编译,它就可以正常工作。

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

JCricket answered 2019-10-09T11:51:14Z
0 votes

Android项目> setting.gradle

include ':app' , ':xxx'

我导入了模块之一,这可以解决此错误。 我删除它是固定的。

include ':app'
Huseyin answered 2019-10-09T11:51:48Z
0 votes

检查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之后我能够摆脱这个问题。

user1662871 answered 2019-10-09T11:52:20Z
0 votes

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

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'

问题解决了

AflamZone answered 2019-10-09T11:52:58Z
0 votes

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

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

Ferhat KOÇER answered 2019-10-09T11:53:30Z
-5 votes

尝试使缓存无效/重启,它在更新后修复了此问题File->使高速缓存无效/重新启动

Kirtan answered 2019-10-09T11:53:57Z
translate from https://stackoverflow.com:/questions/32153544/errorcause-buildtoolsversion-is-not-specified