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
- Volley no funciona con Gradle 2.0 e Instant run
- Renombrar apk con gradle -> obtener el mismo apk dos veces
- Error: "El proceso de daemon recién creado tiene un contexto diferente del esperado"
- Configurar gradle para usar JUnit, Mockito, Hamcrest y Espresso
- Desactivar partes del código para acelerar los tiempos de construcción (Gradle)
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 Studio 3.0, compilación AAPT2 falló - dimen no válido en el archivo de recursos
- ¿Cuál es la diferencia entre la implementación y compilar en gradle
- Agregue la dependencia al productFlavor específico y buildType en gradle
- NoClassDefFoundError usando Jackson 2.2.x en Android con Gradle
- ¿Por qué CardView y RecyclerView requieren minSdkVersion L?
- Gradle está emitiendo un error "No se pudo crear el complemento de tipo 'AppPlugin'"
- ¿Por qué Android Studio no puede hacer referencia a una biblioteca si se incluye sólo en build.gradle?
- BuildConfig no se crea correctamente (Gradle Android)
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:
-
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.
-
Eliminar
android-apt
ysdk-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.
-
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'
-
Busque todos los
apt
en el archivo gradle y sustitúyalos conannotationProcessor
. 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"
-
Por último, que también es importante, limpio y reconstruir.
- Android Google Map cómo comprobar si la ubicación del GPS está dentro del círculo
- ¿Por qué tantos GC_FOR_ALLOC en una aplicación sencilla?