Recibo el error "Dependencias de AndroidX" con android.useAndroidX habilitado

Sep 10 2020

Recibo el siguiente error al intentar crear mi aplicación de Android:

Tarea: aplicación: mergeDebugResources FAILED

FALLO: la compilación falló con una excepción.

  • Qué salió mal: la ejecución falló para la tarea ': app: mergeDebugResources'.

Este proyecto usa dependencias de AndroidX, pero la propiedad 'android.useAndroidX' no está habilitada. Establezca esta propiedad en true en el archivo gradle.properties y vuelva a intentarlo. Se detectan las siguientes dependencias de AndroidX: androidx.versionedparcelable: versionedparcelable: 1.0.0, androidx.slidingpanelayout: slidepanelayout: 1.0.0, androidx.fragment: fragment: 1.0.0, androidx.core: core: 1.0.0, androidx.customview : vista personalizada: 1.0.0, androidx.swiperefreshlayout: swiperefreshlayout: 1.0.0, androidx.interpolator: interpolator: 1.0.0, androidx.loader: loader: 1.0.0, androidx.drawerlayout: drawerlayout: 1.0.0, androidx.viewpager : viewpager: 1.0.0, androidx.collection: colección: 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. Anotación: anotación: 1.0.0, androidx.lifecycle: lifecycle-livedata: 2.0.0, androidx.legacy: legacy-support-core-ui: 1.0.0, androidx.lifecycle: lifecycle-viewmodel: 2.0.0, androidx.lifecycle: lifecycle-livedata-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: 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: ciclo de vida-tiempo de ejecución: 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: ciclo de vida-tiempo de ejecución: 2.0.0, androidx.coordinatorlayout: coordinatorlayout: 1.0.0, androidx.asynclayoutinflater: asynclayoutinflater: 1.0.0, androidx.print: print: 1.0.0

Modifiqué el archivo gradle.properties del proyecto y establecí "android.userAndroidX" en verdadero. Pero cada vez que intento compilar de nuevo, vuelve a ser falso automáticamente. ¿Existe alguna posibilidad de que gradle.properties esté siendo sobrescrito por cualquier otra tarea durante la compilación?

¡Gracias!

Respuestas

13 DaveAlden Sep 11 2020 at 14:00

Es de suponer que está utilizando cordova-android@8(escriba cordova platform lspara encontrar las versiones de la plataforma en su proyecto).

Entonces tienes 2 opciones:

  1. Actualización a la cordova-android@9que implícitamente es compatible con AndroidX:

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

    En su config.xml agregue la siguiente línea:

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

    Más detalles aquí: documentación de Córdoba

  2. Agregue cordova-plugin-androidx a su proyecto Cordova, que establece de manera persistente los indicadores nativos de AndroidX para cordova-android@8:

    cordova plugin add cordova-plugin-androidx
    

Si después de agregar uno de estos, su proyecto aún no se puede compilar, puede deberse a que contiene complementos de Cordova cuyo código nativo de Android hace referencia a la biblioteca de soporte de Android heredada (de la cual AndroidX es el sucesor). Para resolver esto, puede agregar cordova-plugin-androidx-adapter a su proyecto que parcheará dinámicamente el código fuente de esos complementos para migrarlos a AndroidX:

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

En su config.xml agregue la siguiente línea:

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

Más detalles aquí: documentación de Córdoba

yangfengfan Sep 10 2020 at 23:13

Agregar a gradle.properties:

android.useAndroidX=true
android.enableJetifier=true

En AndroidStudio, haga clic en: Archivo-> Invalidar cobros / Reiniciar -> Invalidar y reiniciar

Nandan Oct 04 2020 at 23:56

Puede probar cordova prepare androidsi está utilizando la última versión de cordova, parcheará sus archivos de origen y también actualizará gradle.properties

SarwarAhmed Nov 23 2020 at 00:41

primero abra los scripts de Gradle de su proyecto >> luego abra gradle.properties y finalmente pegue este código de dos líneas

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