我刚刚更新了我的构建文件
从2.14.1到3.3 Android插件从2.2.3到2.3.0
我收到以下错误。看起来像一些第三方插件问题。任何人都可以解释它吗?我无法在与此更改相关的更改日志中找到任何内容。
配置项目':apis'。
时出现问题无法通知项目评估听众。
" android"命令不再包含在SDK中。任何参考 应该删除它(例如通过第三方插件)。
抛出错误的构建文件看起来像这样
apply plugin: 'android-sdk-manager'
apply plugin: 'com.android.library'
apply plugin: 'android-apt'
android {
compileSdkVersion Integer.parseInt(ANDROID_SDK_VERSION)
buildToolsVersion ANDROID_BUILD_TOOLS_VERSION
// Legacy apache network stack
useLibrary 'org.apache.http.legacy'
defaultConfig {
minSdkVersion Integer.parseInt(ANDROID_MIN_SDK_VERSION)
targetSdkVersion Integer.parseInt(ANDROID_SDK_VERSION)
consumerProguardFiles 'proguard-rules.pro'
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
packagingOptions {
exclude 'LICENSE.txt'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE'
}
lintOptions {
abortOnError false
}
}
...
答案 0 :(得分:15)
android-apt
已被弃用,根据migration guide:
从Android Gradle插件版本2.2开始,Android-apt之前提供的所有功能现在都可以在Android插件中使用。
您可以删除android-apt
并按照迁移指南获取相同的功能。
同样,根据sdk-manager-plugin page:
此插件已弃用,不再开发。工具和依赖项是使用Android Gradle插件版本2.2.0或更新版本的automatically downloaded。
所以它也可以删除。
答案 1 :(得分:3)
想总结一下升级所需的内容:
升级到gradle 3.3和android build tools 2.3.0
-classpath 'com.android.tools.build:gradle:2.2.3'
+classpath 'com.android.tools.build:gradle:2.3.0'
和
-distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
升级时,这些应由Android Studio自动完成。
按照@ian
的建议移除android-apt
和sdk-manager-plugin
-classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
和
-apply plugin: 'android-sdk-manager'
-apply plugin: 'com.neenbedankt.android-apt'
这些插件已弃用,在较新版本的gradle中不再需要。
更改app / build.gradle文件中的构建工具版本号:
- buildToolsVersion "23.0.3"
+ buildToolsVersion '25.0.0'
搜索gradle文件中的所有apt
并替换为annotationProcessor
。例如,我们使用的是AutoValue和Parceler,我们必须这样做:
- apt "com.ryanharter.auto.value:auto-value-gson:$autoValueGsonVersion"
+ annotationProcessor "com.ryanharter.auto.value:auto-value-gson:$autoValueGsonVersion"
和
- apt "org.parceler:parceler:$parcelerVersion"
+ annotationProcessor "org.parceler:parceler:$parcelerVersion"
最后,这也很重要,清理和重建。