¿Cómo puedo arreglar “elemento inesperado encontrado en ” ¿error?

6 minutos de lectura

avatar de usuario
CommonsWare

De repente, recibo este error de compilación en mi proyecto de Android:

unexpected element <queries> found in <manifest>

¿Cómo lo soluciono?

avatar de usuario
CommonsWare

El complemento Gradle de Android necesita saber acerca de los nuevos elementos del manifiesto, particularmente para el proceso de fusión del manifiesto. El complemento tiende a confundirse si ve elementos en la fusión manifiesta que no reconoce, descartando errores de compilación como el de la pregunta.

En este caso, Android 11 presentó <queries> como un elemento manifiesto, y las versiones anteriores del complemento Android Gradle no conocen ese elemento.

El hecho de que esto ocurra a partir de la fusión manifiesta significa que simplemente actualizar una dependencia podría provocar este error. Por ejemplo, si actualiza a la última versión de com.awesome:awesome-libraryy contenía un <queries> en su manifiesto, es posible que se bloquee con el error mencionado anteriormente en sus compilaciones, incluso sin ningún otro cambio en su código.

Google lanzó una serie de versiones de parches del complemento Android Gradle para solucionar este problema:

  • 3.3.3
  • 3.4.3
  • 3.5.4
  • 3.6.4
  • 4.0.1

Si está utilizando un complemento existente en el 3.3.* mediante 4.0.* serie, actualice a la versión de parche asociada (o superior) de esa lista, y ya no debería encontrarse con ese error (por ejemplo, classpath 'com.android.tools.build:gradle:4.0.1').

Si está utilizando Android Studio 4.1 o superior, con un complemento Gradle de Android correspondiente (p. ej., en el 4.1.* serie), debería estar bien sin ningún cambio. Esas versiones de complementos ya eran conscientes de <queries>.

Ver esta publicación del blog para desarrolladores de Android para más.

  • “Google lanzó una serie de versiones de parches del complemento Gradle de Android para solucionar este problema” Muy buena nota si no desea solucionar problemas relacionados con la actualización de la versión del complemento Gradle.

    – A. Alqadomi

    14 de diciembre de 2020 a las 12:19

  • La versión de mi herramienta de compilación era 3.5.0. He actualizado a 3.5.4, resolvió el problema. Buena explicación

    – Wasim

    25 de enero de 2021 a las 17:33

  • ¡Excelente! Para Unity, edite el archivo en la ruta. -> /Unity/Hub/Editor/2019.4.20f1/Editor/Data/PlaybackEngines/AndroidPlayer/Tools/GradleTemplates/baseProjectTemplate.gradle

    – junmo choi

    19 de febrero de 2021 a las 3:10

  • Una gran explicación… en mi caso, obtuve una solución al actualizar ligeramente la versión de Gradle en Android Studio v3.5.2 desde: classpath ‘com.android.tools.build:gradle:3.5.1’ a: classpath ‘com.android.tools .construir:gradle:3.5.4’

    –Moeed Ahmed

    15 de abril de 2021 a las 18:23


  • ¡Oh Dios! Esto me aclara las cosas. ¡He estado deambulando durante una semana tratando de averiguar qué está mal con esa etiqueta de consultas! Recibo este error en Unity. Actualizaré a la última versión que usa una versión más nueva de Gradle y veré si lo soluciona. ¡Muchas gracias hombre! ¡Dios te bendiga!

    – ChiragMS

    27 de abril de 2021 a las 17:48


avatar de usuario
bukunmi

Tuve este problema en Flutter, pero creo que esta solución funcionará tanto para Flutter como para el desarrollo nativo de Flutter.

Sigue estos pasos

  1. Lea esta breve publicación de blog para obtener algo de comprensión: Preparando su compilación de Gradle para la visibilidad del paquete en Android 11

  2. Borrar el Gradle carpeta dentro de la carpeta de Android, es decir, android > .gradle

  3. En el proyecto construir.gradle archivo, actualice su ruta de clase apropiadamente según el blog en el enlace anterior, por ejemplo, actualicé a classpath 'com.android.tools.build:gradle:4.0.1'

  4. Actualice también la URL de distribución. Está en el archivo android>gradle>gradle-wrapper.properties apropiadamente. Por ejemplo, lo actualicé a distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip

  5. Puede invalidar cachés y reiniciar su Android Studio. Asegúrese de tener una buena conexión a Internet, porque descargará el nuevo gradle archivos

  • Esto también funciona en React Native, muy útil.

    – Carlos Martinez

    24 de febrero de 2021 a las 2:37

  • classpath ‘com.android.tools.build:gradle:4.1.2’ distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.2-all.zip Todavía tengo problemas para solucionarlo.

    – NitZRobotKoder

    9 de marzo de 2021 a las 8:16

  • ¿Invalidaste los cachés después de las actualizaciones?

    – Bukunmi

    9 de marzo de 2021 a las 11:32

  • salvavidas ¡¡Gracias!!. esta respuesta tiene el porque y la solución.

    – john7ric

    13 de mayo de 2021 a las 5:30


  • obteniendo un problema de dexGuard con esto: las versiones compatibles incluyen [2.3.0:3.5.*]

    – Tushar Gogna

    23/06/2021 a las 12:00

avatar de usuario
hitesh prajapati

De repente, también tuve el mismo problema hace dos días en Android Studio 4.1.1. Resolví el problema actualizando la versión de compilación de Gradle.

Ajuste anterior en el construir.gradle archivo del proyecto era:

classpath("com.android.tools.build:gradle:3.5.3")

Configuración actual:

classpath("com.android.tools.build:gradle:3.5.4")

El problema desapareció de inmediato. 🙂

  • Resolví el problema con tu respuesta. Tengo Android Studio 4.2.1 ¡Gracias!

    –Vladimir Salguero

    14 de julio de 2021 a las 7:34


  • Puedo confirmar que esto funciona para Android Studio 4.2.1 y Flutter 2 (migré desde 1.22.6)

    – kobowo

    29 de julio de 2021 a las 4:18

  • la mejor solución jamás 🙂

    – minchaej

    3 de agosto de 2021 a las 10:24

  • Teniendo un problema con el complemento de la cámara flutter recientemente, esta solución funcionó perfectamente. Gracias.

    – siripan

    17 de agosto de 2021 a las 5:04

  • Enfrenté el mismo problema en React Native con react-native-inappbrowser-reborn. Esta solución resolvió mi problema.

    – Abdalá

    10 de noviembre de 2021 a las 14:02


avatar de usuario
kiumars gilanizadeh

Arreglar el error es muy simple. Actualice su Android Studio a la última versión y use la última estable gradle versión del complemento. En el momento actual, uso Estudio Android versión 4.1.3 con Complemento Gradle 6.8.2

para uso en consultasDeberías escribir consultas código en fuera de solicitud etiqueta, no dentro solicitud etiqueta.

Para obtener más información, vea la foto a continuación:

https://i.stack.imgur.com/ks0AY.jpg

avatar de usuario
jefferson patricio

tuve este error en el react-native-image-crop-picker biblioteca, y resolví este problema actualizando la versión de Gradle como se mencionó en las respuestas anteriores.

Fue:

classpath("com.android.tools.build:gradle:3.5.3")

Actualizado a:

classpath("com.android.tools.build:gradle:3.5.4")

Y ejecuté un:

cd android && ./gradlew clean && cd .. && npx react-native run-android

Entonces funcionó bien.

avatar de usuario
Pedro Mortensen

Debido a las nuevas funciones y configuraciones predeterminadas para visibilidad del paquete en androide 11 que necesita agregar <queries>debes actualizar tu Android gradle enchufar.

Google ha agregado algunos parches a las versiones actuales enumeradas en Notas de la versión del complemento Android Gradle, 4.0.0 (abril de 2020).

Si desea utilizar una versión más reciente de Android Gradle, debe buscar un contenedor compatible de Notas de la versión del complemento Android Gradle, Actualizar Gradle.

avatar de usuario
Pedro Mortensen

Actualice su versión de Gradle a 4.0.1 o posterior.

Expediente android/gradle/wrapper/gradle-wrapper.properties: actualice la URL de distribución a:

distribuciónUrl=https://services.gradle.org/distributions/gradle-6.7-all.zip

Expediente Android/construir.gradle: actualizar el gradle enchufar:

classpath ‘com.android.tools.build:gradle:4.1.2’

a 4.0.1 o posterior. Aquí está 4.1.2 con la versión de Gradle a 6.5 o posterior.

Puedes ver el gráfico de distribución en ¿Cómo actualizar Gradle en Android Studio?

¿Ha sido útil esta solución?