Usando la nueva propiedad" manifestmerger " en Android


En la nueva versión de ADT (versión 20 preview 3), dicen que es posible hacer que el archivo de manifiesto de las bibliotecas se pueda fusionar con proyectos que los usan:

Fusión automática de los archivos de manifiesto del proyecto de la biblioteca en el manifiesto del proyecto. Habilitar con el manifestmerger.propiedad enabled.

¿Cómo y dónde lo uso? No puedo ver que content assist me ayude en esto en ninguna parte.

Author: halfer, 2012-06-11

4 answers

Agregue la siguiente línea a su archivo project.properties de su proyecto de aplicación.

manifestmerger.enabled=true 

Introducido con Android SDK Tools, Revision 20 (June 2012):
https://developer.android.com/studio/releases/sdk-tools

Sistema de construcción
    * Se ha añadido la fusión automática de los archivos de manifiesto del proyecto de la biblioteca en el manifiesto del proyecto incluido.       Habilite esta característica con la propiedad manifestmerger.enabled.

 63
Author: Kevin McMahon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-01 00:30:38

Si quieres combinar el manifiesto del proyecto de la biblioteca de Android y el manifiesto del proyecto actual, debes agregar manifestmerger.enabled=true en el proyecto.archivo de propiedades al que ha referido su proyecto de biblioteca. Pero, usted debe ser confirmado algún punto como la versión de ADT, También Mínimo y SDK de destino debe ser lo mismo que el proyecto de la biblioteca.

 9
Author: Ratna Halder,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-02-05 06:17:02

FYI: manifestmerger.enabled = true no fusionará los archivos de manifiesto si está utilizando la aplicación eclipse export signed. Como se señaló aquí parece ser un error. http://code.google.com/p/android/issues/detail?id=34623

Fue un poco complicado para mí configurar la fusión correctamente también. (reiniciar eclipse, abrir cerrar proyecto..) Para averiguar si la fusión está funcionando echar un vistazo al archivo en ../Your_Main_Project / bin / AndroidManifest.XML. Si la fusión funcionó, verá la completa resultado en este archivo.

EDITAR: Este error se solucionó en ADT v20.0. 1 (Juli 2012): http://developer.android.com/tools/sdk/eclipse-adt.html

 5
Author: Vadimo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-03-21 15:04:44

Me enfrenté a algunos errores durante la fusión de manifiestos (R.java así que alternativamente copié explícitamente el contenido del manifiesto (por ejemplo, copié solo el contenido de la actividad) del manifiesto del proyecto de la biblioteca y los puse en mi manifiesto del proyecto principal. Eso resolvió el error y todo parece estar funcionando bien hasta ahora. Hágame saber si alguien siente que esta no es una alternativa recomendada para la fusión de manifiestos.

 2
Author: Sid M,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-02-24 04:42:11