升级到gradle 3.3和android构建工具2.3.0时收到构建错误

时间:2017-03-03 05:02:13

标签: android gradle android-gradle

我刚刚更新了我的构建文件

从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
  }
}

...

2 个答案:

答案 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)

想总结一下升级所需的内容:

  1. 升级到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自动完成。

  2. 按照@ian

    的建议移除android-aptsdk-manager-plugin
    -classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
    

    -apply plugin: 'android-sdk-manager'
    -apply plugin: 'com.neenbedankt.android-apt'
    

    这些插件已弃用,在较新版本的gradle中不再需要。

  3. 更改app / build.gradle文件中的构建工具版本号:

    -  buildToolsVersion "23.0.3"
    +  buildToolsVersion '25.0.0'
    
  4. 搜索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"
    
  5. 最后,这也很重要,清理和重建。