tools studio google configurar actualizar android gradle android-studio compilation android-gradle google-fabric

google - gradle version android studio



ADVERTENCIA: la API ''variant.getJavaCompile()'' está obsoleta y se ha reemplazado por ''variant.getJavaCompileProvider()'' (21)

Migra tu proyecto a AndroidX.

Las dependencias se actualizan a AndroidX. así que si quieres usar los contenidos de AndroidX migra tu proyecto a AndroidX.

Con Android Studio 3.2 y superior, puede migrar rápidamente un proyecto existente para usar AndroidX seleccionando Refactor> Migrar a AndroidX desde la barra de menú.

Las dependencias de degradación pueden solucionar su problema esta vez, pero no se recomienda

De repente, cuando sincronizo Gradle, me sale este error:

WARNING: API ''variant.getJavaCompile()'' is obsolete and has been replaced with ''variant.getJavaCompileProvider()''. It will be removed at the end of 2019. For more information, see https://d.android.com/r/tools/task-configuration-avoidance Affected Modules: app

Tengo este build.gradle para el módulo de la aplicación:

apply plugin: ''com.android.application'' apply plugin: ''kotlin-android'' apply plugin: ''kotlin-android-extensions'' apply plugin: ''com.google.gms.google-services'' apply plugin: ''io.fabric'' android { compileSdkVersion 28 buildToolsVersion "28.0.2" defaultConfig { applicationId "..." minSdkVersion 21 targetSdkVersion 28 versionCode 1 versionName "..." testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" versionNameSuffix = version_suffix [...] } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(''proguard-android-optimize.txt''), ''proguard-rules.pro'' [...] } debug { [...] } } } dependencies { implementation fileTree(include: [''*.jar''], dir: ''libs'') implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.61" implementation ''androidx.appcompat:appcompat:1.0.0-rc02'' implementation ''androidx.constraintlayout:constraintlayout:1.1.3'' implementation "com.android.support:preference-v7:28.0.0" testImplementation ''junit:junit:4.12'' androidTestImplementation ''androidx.test:runner:1.1.0-alpha4'' androidTestImplementation ''androidx.test.espresso:espresso-core:3.1.0-alpha4'' implementation ''com.google.android.material:material:1.0.0-rc02'' [...] }

Puedo compilar correctamente la aplicación, pero es un poco molesto y, como lo veo, algo dejará de funcionar a finales de 2019. ¿Alguna idea de qué es y cómo resolverlo?


Actualice el complemento de estructura al último archivo de Gradle a nivel de proyecto (no a nivel de aplicación). En mi caso, esta línea solucionó el problema.

classpath ''io.fabric.tools:gradle:1.29.0''

a

buildscript{ dependencies { // From => classpath ''com.google.gms:google-services:4.3.0'' // To => classpath ''com.google.gms:google-services:4.2.0'' } }


Actualizando gradle a gradle: 3.3.0

La tarea predeterminada ''ensamblar'' solo se aplica a las variantes normales. Agregue variantes de prueba también.

//apply plugin: ''io.fabric''

También comentar aplicar tela

android.debug.obsoleteApi=true


Aquí una solución temporal temporal, si está utilizando la sala, simplemente actualice a 1.1.0 o superior

dependencies { classpath ''com.android.tools.build:gradle:3.5.0-beta01'' classpath ''com.novoda:bintray-release:0.8.1'' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files }

me quita esta advertencia.


Bajar la versión de Gradle funcionó para mí:

build.gradle(Project)


Cambia tu versión de Google Services desde tu build.gradle :

implementation "android.arch.persistence.room:runtime:1.1.0"


Cuando el complemento detecta que estás usando una API que ya no es compatible, ahora puede proporcionar información más detallada para ayudarte a determinar dónde se está utilizando esa API. Para ver la información adicional, debe incluir lo siguiente en el archivo gradle.properties de su proyecto:

classpath ''com.android.tools.build:gradle:3.2.0''


En mi caso

ext.kotlin_version = ''1.2.71''

estaba

ext.kotlin_version = ''1.3.0''

actualizado a

classpath ''io.fabric.tools:gradle:1.25.4''

Parece que el problema se ha ido por ahora


En mi caso, fue causado por servicios gms 4.3.0. Así que tuve que cambiarlo a:

com.google.gms:google-services:4.2.0

He encontrado esto ejecutando:

gradlew sync -Pandroid.debug.obsoleteApi=true

en la terminal Vaya a ver -> ventanas de herramientas -> Terminal en Android Studio.


En mi caso, tuve que comentar el complemento com.google.firebase.firebase-crash :

android.testVariants.all { variant -> tasks.getByName(''assemble'').dependsOn variant.getAssembleProvider() }

Es un error desde Android Studio 3.3.0


Esta es una advertencia escupida por las herramientas de construcción por dos razones.
1. Uno de los complementos se basa en Task en lugar de TaskProvider, no hay mucho que podamos hacer.
2. Ha configurado el uso de la tarea, ya que es compatible con el proveedor de tareas.

WARNING: API ''variant.getGenerateBuildConfig()'' is obsolete and has been replaced with ''variant.getGenerateBuildConfigProvider()''. It will be removed at the end of 2019. For more information, see https://d.android.com/r/tools/task-configuration-avoidance WARNING: API ''variant.getJavaCompile()'' is obsolete and has been replaced with ''variant.getJavaCompileProvider()''. It will be removed at the end of 2019. For more information, see https://d.android.com/r/tools/task-configuration-avoidance WARNING: API ''variant.getMergeResources()'' is obsolete and has been replaced with ''variant.getMergeResourcesProvider()''. It will be removed at the end of 2019. For more information, see https://d.android.com/r/tools/task-configuration-avoidance

Busque los fragmentos de código como se muestra a continuación y actualice.

android { <library|application>Variants.all { variant -> /* Disable Generating Build config */ // variant.generateBuildConfig.enabled = true // <- Deprecated variant.generateBuildConfigProvider.configure { it.enabled = true // Replacement } } }

Del mismo modo, encuentre los usos de ''variant.getJavaCompile()'' o ''variant.javaCompile'' , ''variant.getMergeResources()'' o ''variant.mergeResources'' . Reemplace como se indica arriba.

Más información en Task Configuration Avoidance


Esta es una pregunta popular. Si no utiliza estos métodos, la solución está actualizando las bibliotecas. Actualice su versión de Kotlin y todas sus dependencias, como fabric , protobuf , etc. Si está seguro de haber actualizado todo, intente preguntarle al autor de la biblioteca.


Este problema se ha solucionado ahora con la actualización Fabric Gradle versión 1.30.0:

Versión de actualización: 19 de marzo de 2019.

Consulte este enlace: https://docs.fabric.io/android/changelog.html#march-15-2019

Por favor actualice su dependencia classpath en el nivel de proyecto Gradle:

buildscript { // ... repositories, etc. ... dependencies { // ...other dependencies ... classpath ''io.fabric.tools:gradle:1.30.0'' } }


Esto es solo una advertencia y probablemente se solucionará antes de 2019 con actualizaciones de complementos, así que no se preocupe por eso. Te recomendaría usar versiones compatibles de tus plugins y gradle.

Puede consultar la versión de su complemento y la versión de gradle aquí para obtener una mejor experiencia y rendimiento.

https://developer.android.com/studio/releases/gradle-plugin

Intente usar las versiones estables para obtener un código suave y sin errores de advertencia.


Esto solucionó mi problema ... Todo lo que tenía que hacer era degradar mi complemento de servicios de google en buildscript en el archivo de nivel build.gradle (Proyecto) de la siguiente manera

dependencies { classpath ''com.google.gms:google-services:4.2.0'' }


Mantener su proyecto (no la aplicación) Build.gradle depende del código de la versión del classpath es nuevo

buildscript{ dependencies { // From => classpath ''com.google.gms:google-services:4.3.0'' // To => classpath ''com.google.gms:google-services:4.2.0'' // Add dependency classpath ''io.fabric.tools:gradle:1.28.1'' } }


Me enfrento a este problema después de actualizar a 3.3.0

Si no está haciendo lo que indica el error en el archivo de gradle, es un complemento que aún no se actualizó a la API más reciente que causa esto. Para averiguar cuál es el complemento, haga lo siguiente (como se explica en "Mejor información de depuración cuando se usa una API obsoleta" del anuncio 3.3.0 ):

  • Agregue ''android.debug.obsoleteApi = true'' a su archivo gradle.properties que registrará el error con más detalles
  • Inténtalo de nuevo y lee los detalles del registro. Habrá un rastro de plugin "problemático"
  • Cuando se identifique, intente deshabilitarlo y ver si el problema desapareció, solo para estar seguro
  • vaya a la página github del complemento y cree un problema que contendrá un registro detallado y una descripción clara, para que ayude a los desarrolladores a solucionarlo más rápido para todos
  • sea ​​paciente mientras lo arreglan, o lo arregla y crea relaciones públicas para los desarrolladores

Espero que ayude a otros


Regrese de classpath ''com.android.tools.build:gradle:3.3.0-alpha13'' a classpath ''com.android.tools.build:gradle:3.2.0''

esto me funcionó


Si application gradle esta fila de la application gradle :

apply plugin: ''io.fabric''

el error no aparecerá más.

Enlace de referencia github


También me enfrenté a la misma cuestión. Y después de buscar por un tiempo, me di cuenta de que la advertencia estaba surgiendo debido al uso de la última versión del complemento de google-services de google-services (versión 4.3.0). Por cierto, estaba usando este complemento para las funcionalidades de Firebase en mi aplicación. Todo lo que hice fue degradar mi complemento de google-services en buildscript en el archivo de nivel build.gradle (Proyecto) de la siguiente manera:

ext.kotlin_version = ''1.3.1''


Actualizar la versión de Kotlin ( Plugin y stdLib ) a 1.3.1 resolvió esa advertencia en mi caso. Actualice la versión de Kotlin en todo el proyecto reemplazando la versión existente de Kotlin con:

apply plugin: ''com.android.application'' // apply plugin: ''com.google.firebase.firebase-crash'' <== this plugin causes the error