Recibir un error de compilación al actualizar a gradle 3.3 y android build tools 2.3.0

Acabo de actualizar mis archivos de compilación

Gradle de 2.14.1 a 3.3 Plugin de Android de 2.2.3 a 2.3.0

Estoy recibiendo el siguiente error. Parece un problema de plugin de terceros. ¿Puede alguien arrojar luz a ella? No puedo encontrar nada en los registros de cambios relacionados con este cambio.

Se ha producido un problema al configurar el proyecto ': apis'.

Error al notificar al detector de evaluación del proyecto.

El comando "android" ya no está incluido en el SDK. Cualquier referencia a él (por ejemplo, mediante complementos de terceros) debe ser eliminada.

El archivo de compilación en el que se produce el error se ve algo así

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

android-apt ha quedado obsoleto y, según la guía de migración :

A partir de la versión 2.2 del complemento de Android Gradle, toda la funcionalidad proporcionada anteriormente por android-apt ya está disponible en el complemento de Android.

Puede eliminar android-apt y seguir la guía de migración para obtener la funcionalidad equivalente.

Del mismo modo, según la página sdk-manager-plugin :

Este complemento está obsoleto y ya no se está desarrollando. Las herramientas y las dependencias se descargan automáticamente utilizando la versión 2.2.0 del complemento Android Gradle o más reciente.

Así que también puede ser eliminado.

Desea resumir lo que se necesita para actualizar:

  1. Actualizar a gradle 3.3 y android build tools 2.3.0

     -classpath 'com.android.tools.build:gradle:2.2.3' +classpath 'com.android.tools.build:gradle:2.3.0' 

    y

     -distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip 

    Estos deben ser realizados por Android Studio automáticamente cuando se actualiza.

  2. Eliminar android-apt y sdk-manager-plugin como lo sugiere @ian

     -classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' 

    y

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

    Estos plugins están obsoletos y ya no se necesitan en la versión más reciente de gradle.

  3. Cambie el número de versión de la herramienta de compilación en el archivo app / build.gradle:

     - buildToolsVersion "23.0.3" + buildToolsVersion '25.0.0' 
  4. Busque todos los apt en el archivo gradle y sustitúyalos con annotationProcessor . Como ejemplo, estamos utilizando AutoValue y Parceler y tendremos que hacer esto:

     - apt "com.ryanharter.auto.value:auto-value-gson:$autoValueGsonVersion" + annotationProcessor "com.ryanharter.auto.value:auto-value-gson:$autoValueGsonVersion" 

    y

     - apt "org.parceler:parceler:$parcelerVersion" + annotationProcessor "org.parceler:parceler:$parcelerVersion" 
  5. Por último, que también es importante, limpio y reconstruir.

  • Gradle: Android Studio hereda buildtype
  • Doloroso Unity proyecto de exportación a Android cada construcción (estoy haciendo algo mal)
  • Error al resolver: okhttp loggin-interceptor
  • Distribución de Crashlytics con múltiples sabores
  • ID de paquete observado 'build-tools; 20.0.0' en una ubicación incoherente
  • Android Studio - Problema en build.gradle uncaught error de traducción ExecutionException OutOfMemory
  • Android gradle plugin multidex ZipException
  • Cómo utilizar la tarea deviceCheck para ejecutar pruebas en dispositivos remotos
  • La aplicación no se ejecutará en Android Studio 2.0, después de actualizar desde 1.5
  • Error de fusión de manifiesto
  • ¿Depurar un proyecto Java basado en gradle en Android Studio?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.