当我将项目从github导入Android工作室时,我发现了与gradle版本相关的各种错误。对于Eclipse的所有痛苦,我不记得每次出于各种不同的原因需要进行升级。通常它只是SDK。
我看到很多错误:
Error:failed to find Build Tools revision 21.1.0
<a href="install.build.tools">Install Build Tools 21.1.0 and sync project</a>
Failed to apply plugin [id 'com.android.application'] Gradle version 2.1 is required. Current version is 2.2.1. If using the gradlewrapper, try editing the distributionUrl in /Users/Mac1/Downloads/u2020-dagger2 /gradle/wrapper/gradle-wrapper.properties to gradle-2.1-all.zip
设计用于降低依赖项复杂性的系统需要安装旧版本的gradle或构建工具,这似乎很奇怪。为什么会发生这种事情。这是否意味着它没有构建工具或者没有该版本?这是否意味着它必须是旧版本?通过坚持安装旧版本的所有内容,它似乎肯定会鼓励向后兼容。 Gradle,构建工具等。我不是故意粗鲁,所以我会对我对此的看法保持沉默。与此同时,我们该怎么做?
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.14.1'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'
}
}
allprojects {
repositories {
mavenCentral()
maven {
url 'https://oss.sonatype.org/content/repositories/snapshots/'
}
}
}
这是项目级build.gradle:
apply plugin: 'com.android.application'
apply plugin: 'com.neenbedankt.android-apt'
android {
compileSdkVersion 21
buildToolsVersion '21.1.0'
defaultConfig {
applicationId 'dagger.demo'
minSdkVersion 15
targetSdkVersion 21
versionCode 1
versionName '1.0'
}
}
dependencies {
compile 'com.google.dagger:dagger:2.0-SNAPSHOT'
apt 'com.google.dagger:dagger-compiler:2.0-SNAPSHOT'
provided 'org.glassfish:javax.annotation:10.0-b28'
}
答案 0 :(得分:2)
首先,确保您拥有最新的Gradle版本或至少2.2.1。然后更新您的build.gradle
:
热门build.gradle
:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.1.3' // <-- updated
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'
}
}
allprojects {
repositories {
mavenCentral()
maven {
url 'https://oss.sonatype.org/content/repositories/snapshots/'
}
}
}
App build.gradle
:
apply plugin: 'com.android.application'
apply plugin: 'com.neenbedankt.android-apt'
android {
compileSdkVersion 22
buildToolsVersion '21.0.0'
defaultConfig {
applicationId 'dagger.demo'
minSdkVersion 15
targetSdkVersion 22
versionCode 1
versionName '1.0'
}
}
dependencies {
compile 'com.google.dagger:dagger:2.0-SNAPSHOT'
apt 'com.google.dagger:dagger-compiler:2.0-SNAPSHOT'
provided 'org.glassfish:javax.annotation:10.0-b28'
}