J'obtiens l'erreur "Dépendances AndroidX" avec android.useAndroidX activé

Sep 10 2020

J'obtiens l'erreur suivante en essayant de créer mon application Android:

Tâche: application: mergeDebugResources FAILED

ÉCHEC: la construction a échoué avec une exception.

  • Problème: l'exécution de la tâche «: app: mergeDebugResources» a échoué.

Ce projet utilise les dépendances AndroidX, mais la propriété 'android.useAndroidX' n'est pas activée. Définissez cette propriété sur true dans le fichier gradle.properties et réessayez. Les dépendances AndroidX suivantes sont détectées: androidx.versionedparcelable: versionedparcelable: 1.0.0, androidx.slidingpanelayout: slidespanelayout: 1.0.0, androidx.fragment: fragment: 1.0.0, androidx.core: core: 1.0.0, androidx.customview : vue personnalisée: 1.0.0, androidx.swiperefreshlayout: swiperefreshlayout: 1.0.0, androidx.interpolator: interpolateur: 1.0.0, androidx.loader: loader: 1.0.0, androidx.drawerlayout: tiroirlayout: 1.0.0, androidx.viewpager : viewpager: 1.0.0, androidx.collection: collection: 1.0.0, androidx.localbroadcastmanager: localbroadcastmanager: 1.0.0, androidx.lifecycle: lifecycle-common: 2.0.0, androidx.arch.core: core-common: 2.0 .0, androidx.annotation: annotation: 1.0.0, androidx.cycle de vie: lifecycle-livingata: 2.0.0, androidx.legacy: legacy-support-core-ui: 1.0.0, androidx.lifecycle: lifecycle-viewmodel: 2.0.0, androidx.lifecycle: lifecycle-livingata-core: 2.0. 0, androidx.legacy: legacy-support-v4: 1.0.0, androidx.media:media:1.0.0, androidx.arch.core: core-runtime: 2.0.0, androidx.legacy: legacy-support-core- utils: 1.0.0, androidx.documentfile: documentfile: 1.0.0, androidx.cursoradapter: cursoradapter: 1.0.0, androidx.lifecycle: lifecycle-runtime: 2.0.0, androidx.coordinatorlayout: coordinatorlayout: 1.0.0, androidx. asynclayoutinflater: asynclayoutinflater: 1.0.0, androidx.print: impression: 1.0.0core: core-runtime: 2.0.0, androidx.legacy: legacy-support-core-utils: 1.0.0, androidx.documentfile: documentfile: 1.0.0, androidx.cursoradapter: cursoradapter: 1.0.0, androidx.lifecycle: cycle de vie-runtime: 2.0.0, androidx.coordinatorlayout: coordinatorlayout: 1.0.0, androidx.asynclayoutinflater: asynclayoutinflater: 1.0.0, androidx.print: print: 1.0.0core: core-runtime: 2.0.0, androidx.legacy: legacy-support-core-utils: 1.0.0, androidx.documentfile: documentfile: 1.0.0, androidx.cursoradapter: cursoradapter: 1.0.0, androidx.lifecycle: cycle de vie-runtime: 2.0.0, androidx.coordinatorlayout: coordinatorlayout: 1.0.0, androidx.asynclayoutinflater: asynclayoutinflater: 1.0.0, androidx.print: print: 1.0.0

J'ai modifié le fichier gradle.properties du projet et défini "android.userAndroidX" sur true. Mais chaque fois que j'essaye de reconstruire, cela revient automatiquement à faux. Y a-t-il une chance que gradle.properties soit écrasé par une autre tâche pendant la construction?

Merci!

Réponses

13 DaveAlden Sep 11 2020 at 14:00

Vous utilisez probablement cordova-android@8(tapez cordova platform lspour trouver les versions de plate-forme dans votre projet).

Vous avez donc 2 options:

  1. Mise à jour à cordova-android@9laquelle prend implicitement en charge AndroidX:

    cordova platform rm android && cordova platform add android@9
    

    Dans votre config.xml, ajoutez la ligne suivante:

    <preference name="AndroidXEnabled" value="true" />
    

    Plus de détails ici: documentation cordova

  2. Ajoutez cordova-plugin-androidx à votre projet Cordova, qui définit de manière persistante les indicateurs natifs AndroidX pour cordova-android@8:

    cordova plugin add cordova-plugin-androidx
    

Si, après avoir ajouté l'un de ces éléments, votre projet ne parvient toujours pas à se construire, c'est peut-être parce qu'il contient des plugins Cordova dont le code Android natif fait référence à l'ancienne bibliothèque de support Android (dont AndroidX est le successeur). Pour résoudre cela, vous pouvez ajouter cordova-plugin-androidx-adapter à votre projet qui corrigera dynamiquement le code source de ces plugins pour les migrer vers AndroidX:

cordova plugin add cordova-plugin-androidx-adapter
4 user3980196 Jan 10 2021 at 19:15

Dans votre config.xml, ajoutez la ligne suivante:

<preference name="AndroidXEnabled" value="true" />

Plus de détails ici: documentation cordova

yangfengfan Sep 10 2020 at 23:13

Ajouter à gradle.properties:

android.useAndroidX=true
android.enableJetifier=true

Dans AndroidStudio, cliquez sur: Fichier-> Invalidate Cashes / Restart -> Invalidate and Restart

Nandan Oct 04 2020 at 23:56

Vous pouvez essayer cordova prepare androidsi vous utilisez le dernier cordova, il corrigera vos fichiers source et mettra également à jour gradle.properties

SarwarAhmed Nov 23 2020 at 00:41

Ouvrez d'abord les scripts de votre projet gradle >> puis ouvrez gradle.properties Et enfin collez ce code de deux lignes

android.useAndroidX=true

android.enableJetifier=true

KangudieMuanza-Killmonger Nov 23 2020 at 23:34
cordova plugin add cordova-plugin-androidx

cordova plugin add cordova-plugin-androidx-adapter