110 votes

L'API 'BaseVariant.getApplicationIdTextResource' est obsolète et a été remplacée par 'VariantProperties.applicationId'.

Lors de la construction de gradle, je reçois ce message :

API 'BaseVariant.getApplicationIdTextResource' is obsolete and has been replaced with 'VariantProperties.applicationId'

J'utilise Android Studio 4.1 Canary 10 y gradle:4.1.0-alpha10

0 votes

Cela s'est produit pour moi, mais pour 'RecyclerView'

131voto

ianhanniballake Points 18370

Il semble que le Plugin Navigation Safe Args utilise getApplicationIdTextResource() Il est donc très probable que le message d'erreur soit causé par l'utilisation de ce plugin.

Vous voudriez mettre en vedette le problème existant pour demander au plugin Safe Args d'utiliser la nouvelle API de remplacement.

10 votes

UPDATE : Selon ce commentaire il a été corrigé dans Android Studio 4.2 Beta 2.

37 votes

Et si vous utilisez arctic fox, vous êtes toujours condamné :|

3 votes

2.4.0-alpha02 a corrigé le problème, fonctionne aussi sur arctic fox (latest : alpha06)

33voto

Changement vers androidx.navigation:navigation-*:2.4.0-alpha02 comme décrit aquí a permis de construire mon application sous Arctic Fox sans obtenir l'avertissement getApplicationIdTestResource.

À partir du fichier build.gradle de l'application :

def nav_version = "2.4.0-alpha02"
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version"

Et dans le fichier build.gradle :

def nav_version = "2.4.0-alpha02"
implementation "androidx.navigation:navigation-fragment:$nav_version"
implementation "androidx.navigation:navigation-ui:$nav_version"
androidTestImplementation "androidx.navigation:navigation-testing:$nav_version"

7voto

Riaz Mahmud Points 71

Depuis quelques jours, je vois le même problème. Ensuite, je vais sur -> build.gradle fichier

Mes dépendances avant la mise à jour

vérifier le Dépendances

J'ai mis à jour les dépendances des services google à 4.3.4

dependencies {
    classpath 'com.android.tools.build:gradle:4.1.1'
    classpath 'com.google.gms:google-services:4.3.4'

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}

Après la mise à jour

Maintenant, il fonctionne bien.

1 votes

FYI : 4.3.4 vient avec d'autres problèmes comme github.com/google/play-services-plugins/issues/163

0 votes

J'ai mis à jour la dernière version de google-services .

6voto

sana ebadi Points 740

Cette erreur concernait NavigationComponent pour moi dans Android Studio Cannery 13.

J'ai donc changé la nav_version en ceci et mon problème a été résolu.

 ext {
    ***************    nav_version = "2.4.0-alpha10" ************
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:7.1.0-alpha13'
        classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version"

et en module applicatif build.gradle :

   implementation "androidx.navigation:navigation-fragment:$nav_version"
    implementation "androidx.navigation:navigation-ui:$nav_version"
    androidTestImplementation "androidx.navigation:navigation-testing:$nav_version"

2voto

Erdem İnanç Points 41

Le problème sera résolu lorsque la version 4.2.0 sera stable.

Du numéro existant :

Le plugin Android Gradle a rendu obsolète la fonction getApplicationIdTextResource(). de la classe BaseVariant dans la version 4.1.0 (voir le bogue). L'API de remplacement de remplacement (onVariantProperties) ne fonctionnait pas correctement pour les bibliothèques de fonctionnalités, donc pour éviter l'avertissement de dépréciation, la réflexion a été utilisé. Ce n'est qu'une solution à court terme, et lorsque l'AGP 4.2.0 sera stable, nous devrons mettre à jour vers cette version et supprimer la réflexion. nous devrions mettre à jour vers cette version et supprimer immédiatement la réflexion

Donc si vous avez besoin de Safe Args et que vous n'avez pas besoin des dernières fonctionnalités de Gradle, gardez la version de Gradle dans Android Gradle Plugin version à 3.6.4. Une fois la version stable 4.2.0 publiée, mettez-la à jour.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X