Recibo el error "Dependencias de AndroidX" con android.useAndroidX habilitado
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
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:
Actualización a la
cordova-android@9que implícitamente es compatible con AndroidX:cordova platform rm android && cordova platform add android@9En su config.xml agregue la siguiente línea:
<preference name="AndroidXEnabled" value="true" />Más detalles aquí: documentación de Córdoba
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
En su config.xml agregue la siguiente línea:
<preference name="AndroidXEnabled" value="true" />
Más detalles aquí: documentación de Córdoba
Agregar a gradle.properties:
android.useAndroidX=true
android.enableJetifier=true
En AndroidStudio, haga clic en: Archivo-> Invalidar cobros / Reiniciar -> Invalidar y reiniciar
Puede probar cordova prepare androidsi está utilizando la última versión de cordova, parcheará sus archivos de origen y también actualizará gradle.properties
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
cordova plugin add cordova-plugin-androidx
cordova plugin add cordova-plugin-androidx-adapter