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)
android
android-studio
gradle
kotlin
android-studio-3.0
Valentin Baryshev
fuente
fuente
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
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 debajorepositories
.compile
es ahoraimplementation
oapi
, peroimplementation
es el recomendado.provided
escompileOnly
yapk
esruntimeOnly
androidTestCompile
se ha convertidoandroidTestImplementation
, ytestCompile
->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 delandroid
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 llamartestedVariant
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.
fuente
Estoy usando el complemento Gradle de servicios de Play
com.google.gms:google-services
con la versión4.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
fuente
El problema se resuelve con el complemento de servicios de Google versión 4.3.0 (resuelto con esta confirmación )
Encontrado aquí
fuente
La actualización a la última versión de Fabric Gradle Plugin soluciona este problema.
Desde el registro de cambios:
https://docs.fabric.io/android/changelog.html#march-15-2018
fuente
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ó.
fuente
Después de instalar Fabric correctamente, este problema se resolvió por mí.
build.gradle
fuente
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
fuente
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:
Después:
fuente
Proyecto Nivel Build.Gradle
Use la siguiente versión de la dependencia de servicios de google.
Problema resuelto para mí.
fuente
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.
fuente
com.google.gms:google-services
4.0.1
y4.0.2
ambos causan este aviso de advertencia.