¿Cómo puedo solucionar el error "elemento inesperado <consultas> encontrado en <manifiesto>"?

Resuelto CommonsWare asked hace 54 años • 8 respuestas

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

unexpected element <queries> found in <manifest>

¿Cómo lo soluciono?

CommonsWare avatar Jan 01 '70 08:01 CommonsWare
Aceptado

El complemento de Android Gradle necesita conocer 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 del manifiesto que no reconoce, arrojando errores de compilación como el de la pregunta.

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

El hecho de que esto ocurra debido a una 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>elemento en su manifiesto, podría fallar con el error antes mencionado en sus compilaciones, incluso sin ningún otro cambio en su código.

Google lanzó una serie de versiones de parche del complemento Gradle de Android 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 la serie 3.3.*completa 4.0.*, 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 de Gradle de Android correspondiente (por ejemplo, en la 4.1.*serie), debería estar bien sin ningún cambio. Esas versiones de complementos ya las conocíamos <queries>.

Consulte esta publicación del blog para desarrolladores de Android para obtener más información.

CommonsWare avatar Jul 18 '2020 14:07 CommonsWare

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 comprender mejor: Preparación de su compilación de Gradle para la visibilidad del paquete en Android 11

  2. Elimine la carpeta .gradle dentro de la carpeta de Android, es decir, android > .gradle

  3. En el archivo build.gradle del proyecto , 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 correctamente. Por ejemplo, lo actualicé adistributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip

  5. Puede invalidar los cachés y reiniciar su Android Studio. Asegúrese de tener una buena conexión a Internet, ya que descargará los nuevos archivos de Gradle .

Bukunmi avatar Nov 16 '2020 07:11 Bukunmi

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.

La configuración anterior en el archivo build.gradle 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. :)

Hitesh Prajapati avatar May 04 '2021 11:05 Hitesh Prajapati