我创建了一个简单的项目,然后右键单击该项目,然后使用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.
答案 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;使缓存无效/重新启动