Usando el nuevo estudio de Android con el nuevo plugin 3.0.0 Gradle.
Al construir alguna advertencia sucedió:
registerResGeneratingTask is deprecated, use
registerGeneratedFolders(FileCollection)
Usando el nuevo estudio de Android con el nuevo plugin 3.0.0 Gradle.
Al construir alguna advertencia sucedió:
registerResGeneratingTask is deprecated, use
registerGeneratedFolders(FileCollection)
Respuestas:
Por lo que puedo decir, los complementos agregados como dependencias de classpath darán problemas. Es decir, Firebase tuvo un problema con él. Cuchara y aleteo también. Hacer esta búsqueda en Google revela una gran cantidad de repositorios de GitHub con un problema planteado sobre lo mismo, y todo lo que tienen en común es el hecho de que es un complemento de Gradle. La tela también parece ser una causa, como lo menciona Mate *
Por lo que puedo decir, el problema proviene de uno / varios complementos de Gradle. También puede ser activado por su código de Gradle, pero esto probablemente no sea aplicable si su proyecto es una aplicación y no un complemento de Gradle.
Y como lo menciona Alex Cohn en un comentario, la desaprobación es una advertencia. En este caso, significa que es una característica que eventualmente se eliminará. Entonces, por ahora, suponiendo que sea un complemento (y no creado por usted), puede ignorarlo. Para cuando se elimine, la mayoría / todos los complementos principales deben actualizarse para solucionarlo.
Y, de nuevo, es una advertencia; No es un error. Aún puede ejecutarlo e ignorarlo si no puede hacer nada al respecto. Desactivar, por ejemplo, el plugin Fabric * es excesivo, ya que todavía funciona.
Yo no uso Fabric, y Fabric no es de código abierto, así que no sé si los desarrolladores lo arreglaron o no.
TL; DR: los complementos de Gradle son la causa. Es una advertencia (no un error), por lo que eliminar los complementos que causan el problema es excesivo. Si no puede arreglarlo, déjelo solo siempre y cuando esté en desuso en este momento (no eliminado)
Si usa Firebase, hay una solución específica que también se menciona en la guía de migración (vinculada más adelante en esta publicación); excluir el módulo de guayaba
classpath ('com.google.firebase:firebase-plugins:1.1.0') {
exclude group: 'com.google.guava', module: 'guava-jdk5'
}
El problema en sí es bastante difícil de detectar. Por lo que puedo decir, no hay un problema único que lo cause en todos los complementos que verifiqué (y vincularon en esta respuesta). Si ha codificado algo que causa el problema (y es posible solucionarlo; agregar un complemento de gradle de terceros no lo está causando), hay algunas cosas que puede intentar solucionar.
Por lo que puedo decir a partir de la causa real, se resuelve actualizando el archivo Gradle (aunque en la biblioteca Spoon, se solucionó cambiando una línea relacionada con TestVariant
) siguiendo los temas en la guía de migración del complemento 3.0.0 de Gradle.
Todo esto está cubierto por los documentos del desarrollador , pero aquí hay algunas cosas que creo que son relevantes en función de las solicitudes de extracción realizadas en proyectos donde ha sido un problema:
Además de actualizar la versión y el complemento de Gradle, también debe agregar el google()
repositorio debajo repositories
.
compile
es ahora implementation
o api
, pero implementation
es el recomendado.
provided
es compileOnly
y apk
esruntimeOnly
androidTestCompile
se ha convertido androidTestImplementation
, y testCompile
->testImplementation
Si usa sabores, debe usar las dimensiones de sabor (cubiertas por los documentos).
Para los tipos de compilación, debe incluir retrocesos en caso de que haya una biblioteca que no tenga ese tipo de compilación. Estos se definen en el profile
bloque debajo del android
bloque.
Si aún no lo ha hecho, el complemento gradle debe definirse primero. Si no tiene otras dependencias de classpath, no es un problema. Pero si lo hace, asegúrese de que el complemento gradle se defina primero.
Si lo usa testVariants
, asegúrese de no llamar testedVariant
a la clase. Parece ser la causa de la biblioteca Spoon.
Estas cosas son, por lo que he podido decir, algunos de los cambios que se hicieron para solucionar el problema.
Estoy usando el complemento Gradle de servicios de Play com.google.gms:google-services
con la versión 4.2.0
.
En el código fuente podemos ver que:
Entonces, para mí, esa fue la razón de mis advertencias y no se puede eliminar hasta que se arregle el complemento. El problema está aquí.
Como mencionó @Zoe, esto también puede provenir de otros complementos de Gradle.
Mejor
El problema se resuelve con el complemento de servicios de Google versión 4.3.0 (resuelto con esta confirmación )
buildscript {
dependencies {
// Change version to 4.3.0
classpath 'com.google.gms:google-services:4.3.0'
}
}
Encontrado aquí
La actualización a la última versión de Fabric Gradle Plugin soluciona este problema.
Desde el registro de cambios:
En mi caso, esto fue causado por una versión no coincidente de las bibliotecas de soporte de Android. Actualicé todos los módulos a la última versión (28.0.0) y eso lo resolvió.
Después de instalar Fabric correctamente, este problema se resolvió por mí.
import com.crashlytics.android.Crashlytics;
import io.fabric.sdk.android.Fabric;
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
Fabric.with(this, new Crashlytics());
}
}
build.gradle
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
dependencies {
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.9'
}
repositories {
mavenCentral()
maven { url 'https://maven.fabric.io/public' }
}
Recibí este mensaje de error y a muchos otros les gusta
x-version is deprecated and use y-version instead and it'll be removed in 2019
y todo mi proyecto comenzó a dar los mismos mensajes de error de repente.
Android Studio estaba dando advertencias sobre mi programa antivirus. Intenté configurarlo pero no funcionó.
Finalmente desinstalé el antivirus QuickHeal de mi sistema y todo está bien ahora
Todas las otras respuestas son sobre problemas con componentes de terceros .
Aquí le mostramos cómo actualizar su proyecto que usa registerResGeneratingTask
directamente:
Antes de:
variant.registerResGeneratingTask generateIcon, ICON_DIR
Después:
variant.mergeResourcesProvider.get().dependsOn generateIcon
variant.registerGeneratedResFolders files(ICON_DIR)
Proyecto Nivel Build.Gradle
Use la siguiente versión de la dependencia de servicios de google.
dependencies {
classpath 'com.android.tools.build:gradle:3.4.2'
classpath 'com.google.gms:google-services:4.3.0'
classpath ('com.google.firebase:firebase-plugins:1.1.0') {
exclude group: 'com.google.guava', module: 'guava-jdk5'
}
}
Problema resuelto para mí.
Para mí, esta advertencia desapareció cuando apagué el complemento de gradle de tela, o compruebe si usa fabric u otro complemento que yo sea responsable de esta advertencia.
com.google.gms:google-services
4.0.1
y 4.0.2
ambos causan este aviso de advertencia.