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.
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.lifecycle: lifecycle-livingata: 2.0.0, androidx.legacy: legacy-support-core-ui: 1.0.0, androidx.lifecycle: lifecycle-viewmodel: 2.0 .0, androidx.lifecycle: cycle de vie-vécu-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-suppo rt-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.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!
5 Réponses :
Ajouter à gradle.properties:
android.useAndroidX=true android.enableJetifier=true
Dans AndroidStudio, cliquez sur: Fichier-> Invalidate Cashes / Restart -> Invalidate and Restart
Merci pour votre réponse. Je le règle directement sur true, mais il est modifié à chaque fois que j'essaye de construire. Je n'ai pas installé AndroidStudio. Je construis via la ligne de commande.
Je ne suis pas sûr de la cause du problème, ce blog peut vous aider.
Vous pouvez les modifier dans les plates-formes / android / cordova / lib / configGradlePropertiesParser.j dans les objets this._defaults
Vous utilisez probablement cordova-android@8
(tapez cordova platform ls
pour trouver les versions de plate-forme dans votre projet).
Vous avez donc 2 options:
cordova-android@9
qui prend implicitement en charge AndroidX:cordova plugin add cordova-plugin-androidx-adapter
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 ce problème, vous pouvez ajouter cordova-plugin-androidx-adapter à votre projet qui corrigera dynamiquement le code source de ces plugins pour les migrer vers AndroidX:
cordova platform rm android && cordova platform add android@9
Cela a définitivement résolu mon problème. Merci beaucoup!!
Super, heureux de vous aider! Veuillez accepter ceci comme la bonne réponse pour le bénéfice des autres utilisateurs.
Vous pouvez essayer cordova prepare android
si vous utilisez le dernier cordova, il corrigera vos fichiers source et mettra également à jour gradle.properties
cordova plugin add cordova-plugin-androidx cordova plugin add cordova-plugin-androidx-adapter