J'obtiens l'erreur "Dépendances AndroidX" avec android.useAndroidX activé
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
Vous utilisez probablement cordova-android@8(tapez cordova platform lspour trouver les versions de plate-forme dans votre projet).
Vous avez donc 2 options:
Mise à jour à
cordova-android@9laquelle prend implicitement en charge AndroidX:cordova platform rm android && cordova platform add android@9Dans votre config.xml, ajoutez la ligne suivante:
<preference name="AndroidXEnabled" value="true" />Plus de détails ici: documentation cordova
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
Dans votre config.xml, ajoutez la ligne suivante:
<preference name="AndroidXEnabled" value="true" />
Plus de détails ici: documentation cordova
Ajouter à gradle.properties:
android.useAndroidX=true
android.enableJetifier=true
Dans AndroidStudio, cliquez sur: Fichier-> Invalidate Cashes / Restart -> Invalidate and Restart
Vous pouvez essayer cordova prepare androidsi vous utilisez le dernier cordova, il corrigera vos fichiers source et mettra également à jour gradle.properties
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
cordova plugin add cordova-plugin-androidx
cordova plugin add cordova-plugin-androidx-adapter