En esta compilación se usaron características obsoletas de Gradle, lo que la hace incompatible con Gradle 5.0


81

Tengo un error de gradle:

..."Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0."

Descripción del caso:

  • Adjunto al código base del proyecto las siguientes bibliotecas:

APP / build.gradle

    //(Required) Writing and executing Unit Tests on the JUnit Platform 
testImplementation "org.junit.jupiter:junit-jupiter-api:5.2.0"
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.2.0"
    // (Optional) If you need "Parameterized Tests"
testImplementation "org.junit.jupiter:junit-jupiter-params:5.2.0"
    // (Optional) If you also have JUnit 4-based tests
testImplementation "junit:junit:4.12"
testRuntimeOnly "org.junit.vintage:junit-vintage-engine:5.2.0"

testImplementation "io.mockk:mockk:1.8.5"
  • Se actualizó gradle-wrapper.properties

    distributionUrl = https .... gradle- 4.4-all .zip a 4.7-all

  • después de todo ese gradle se construyó el éxito

  • creó la prueba calss

    @TestInstance(TestInstance.Lifecycle.PER_CLASS)
      class TestClass {
    
      @Test
      internal fun testName() {
        Assert.assertEquals(2, 1 + 1)
      }
    }
    
  • ejecutó la prueba y recibió el mensaje FALLO. ingrese la descripción de la imagen aquí

  • ejecutó la compilación de Gradle con un argumento de línea de comando ./gradlew --warning-mode=allpara ver cuáles son exactamente las características obsoletas. ingrese la descripción de la imagen aquí

Como resultado, no pude construir la aplicación y recibí ese mensaje de FALLO :.


1
Eso no es un fracaso. La aplicación aún se compila, ¿no?
EpicPandaForce

1
La aplicación se compila con el mismo mensaje de error. :-(
Philipp Buhaievskiy

2
Eso no es un fracaso. Sería un fracaso si la aplicación no se compilara. En el mejor de los casos, es una advertencia .
EpicPandaForce

@ EpicPandaForce desafortunadamente ES un mensaje de falla como mencioné. La pregunta no es sobre cómo interpretar el mensaje, pero de todos modos mi agradecimiento por su impacto.
Philipp Buhaievskiy

Respuestas:


67

Ejecute la compilación de Gradle con un argumento de línea de comando --warning-mode=allpara ver exactamente cuáles son las características obsoletas.

Le dará una descripción detallada de los problemas encontrados con enlaces a los documentos de Gradle para obtener instrucciones sobre cómo corregir su compilación.

Además --stacktracede eso, también podrá identificar de dónde proviene la advertencia, si se activa por un código desactualizado en uno de los complementos y no en su script de compilación.


Actualicé la descripción del problema con esta sugerencia.
Philipp Buhaievskiy

12
Cuando react-native run-android --warning-mode allerror: unknown option --warning-mode'
corro

12
Prueba a corrergradle build --warning-mode=all
Jordan Daniels

14

Prueba este

cd android && ./gradlew clean && ./gradlew :app:bundleRelease

Gracias, ¿podría explicar por qué esto ./gradlew: app: bundleRelease funciona y este ./gradlew bundleRelease no?
Atikur Rahman Sabuj

perfecct funcionó para mí en mi proyecto cordova-9.0: D
minigeek

10

Recibí este error. Resulta que solo sucedió cuando limpié por completo las cachés de RN (proceso bastante elaborado) y luego creé una versión de lanzamiento.

Si limpié las cachés, creé una compilación de depuración y luego una compilación de lanzamiento, todo funcionó. Un poco preocupante pero funciona.

Nota: Mi comando de limpieza es ...

rm -r android/build ; rm -r android/app/src/release/res ; rm -r android/app/build/intermediates ; watchman watch-del-all ; rm -rf $TMPDIR/react-* ; npm start -- --reset-cache


5

en mi caso actualicé el build.gradlearchivo y realicé la classpathúltima versión del 3.5.2al3.6.3

dependencies {
        classpath("com.android.tools.build:gradle:3.6.3") 
    }

3

Actualice sus dependencias de terceros. por ejemplo , actualicé la dependencia de implementation 'com.github.ybq:Android-SpinKit:1.1.0' a implementation 'com.github.ybq:Android-SpinKit:1.2.0'. y en mi caso el problema se ha resuelto.


siga la sugerencia de la tecla de acceso rápido para obtener una descripción detallada exacta
Hiren

este fue el error y estoy actualizando la versión de Gradle e intento todos los pasos posibles. :(
Anshul1507


2

Importante: la respuesta funciona solo para REACT-NATIVE VS CODE Terminal

En el código de VisualStudio, debe ejecutar como se muestra a continuación, luego se omitirá esa advertencia.

react-native run-android modo de advertencia = todos

Si ejecuta a continuación, obtendrá el error en la terminal Al ejecutar react-native run-android --warning-mode all obtengo el error: opción desconocida --warning-mode '


1

Solución para el problema: en esta compilación se utilizaron características obsoletas de Gradle, lo que la hace incompatible con Gradle 6.0 estudio de Android Esta solución proporcionada funcionó para mí.

Primero cambie la ruta de clase en las dependencias de build.gradle de su proyecto Desde: classpath 'com.android.tools.build:gradle:3.3.1' Hasta: classpath 'com.android.tools.build:gradle:3.6.1'

Luego, realice cambios en el archivo gradle-wrapper.properties, este archivo existe en la carpeta gradle> envoltorio del proyecto Desde: distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip Hasta: distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip

Luego sincroniza tu gradle.


0

Finalmente decidió degradar el junit 5 a junit 4 y reconstruir el entorno de prueba.


¿Como lo hiciste?
Pratik Butani

Pratik, tenga en cuenta que, por ahora, seis meses después, supongo que las circunstancias en torno a este tema han cambiado. Le aconsejo que investigue desde cero, si JUnit 5 es conveniente para usar como instrumento de prueba.
Philipp Buhaievskiy

0

En un proyecto SpringBoot que usa IntelliJ y Gradle, recibí la advertencia "Se usaron características obsoletas de Gradle en esta compilación, lo que la hace incompatible con Gradle 5.0" al ejecutar mi prueba de integración. Lo que resolvió el problema fue: - Ir a: Archivo> Configuración> Construir, Ejecutar, Implementar - Seleccionar para "Construir y ejecutar usando": Intellij IDEA (en lugar de "Gradle") - Lo mismo para "Ejecutar pruebas usando" Eso no explicó por qué Gradle muestra la advertencia, pero eso me permitió realizar la prueba y avanzar en mi trabajo.


0

Se solucionó este tipo de error después de migrar a AndroidX

  • Vaya a Refactor ---> Migrar a AndroidX

0

La siguiente solución me ayudó, ya que también recibí la misma advertencia. En su archivo gradle a nivel de proyecto, intente cambiar la versión gradle en classpath

classpath "com.android.tools.build:gradle:3.6.0" to
classpath "com.android.tools.build:gradle:4.0.1"

0

Si está utilizando react-native , primero pruebe los siguientes comandos antes de ejecutar su proyecto:

  1. npm install --save-dev jetifier
  2. npx jetify

Ahora ejecute su proyecto nuevamente. Espero que esto funcione.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.