Android Bibliothèque Manifeste vs Manifeste de l'Application
J'ai lu les mêmes questions ici, mais je suis toujours pas clair sur un certain nombre de choses. À l'aide d'une Bibliothèque de Projet, l'ensemble de mon projet aura deux manifestes, une pour la bibliothèque et l'autre pour la "main" de projet d'application -- et je ne suis pas clair ce qui se passe dans laquelle ou si il y a une certaine redondance.
Je suis le développement d'une application widget avec "lite" et "payé" des versions, si vous n'avez presque tout le code dans un projet de bibliothèque. Étant un widget, la bibliothèque aura au moins un récepteur, un service, une configuration d'activité, plus d'un couple de d'autres activités. Alors, où doit l'intégralité des déclarations de ces composantes, y compris les intentions, les filtres, etc. -- - ils être déclarés? Vont-ils dans le manifeste pour la bibliothèque, ou dans le manifeste du package de l'application elle-même, la référence à des classes de la bibliothèque (par exemple, android:name="com.foo.mylibrary.MyService")?
Quelques exemples que j'ai regardé semblent de les déclarer dans les deux manifestes, mais je pense que dans l'un ou l'autre est un no-op.
Vous devez vous connecter pour publier un commentaire.
Le projet de bibliothèque manifeste n'est pas actuellement utilisé.Gradle pour Android, et donc Android Studio, bibliothèque de prise en charge des projets et de l'AARs la publication d'un manifeste. Cela peut inclure des choses comme activité déclarations, autorisations requises ou fonctions, ou de minimum prise en charge du kit SDK d'Android niveaux.
Les règles de la bibliothèque se manifeste sont fusionnés avec l'app propre manifeste, particulièrement lorsque vous prenez construire des types et de saveurs en compte -- est un peu complexe.
Dans le projet hôte.La bibliothèque de publier ces composants, et les Android Studio d'hôtes projet peut ensuite de les supprimer si nécessaire.
Le dernier.Dans les deux (avec Gradle pour Android et Android Studio). En théorie, il est plus facile pour la bibliothèque de publier les composants, de sorte que l'application de l'auteur de ne pas avoir à le faire. Personnellement, je ne suis pas un grand fan de cela, comme de trop nombreux développeurs sera le vent d'expédition inutiles les entrées du manifeste.
Comme de l'ADT r20 Aperçu 3, il est désormais possible de fusionner manifeste. Afin de configuration commune peut maintenant être mis dans la bibliothèque manifeste. Voir https://stackoverflow.com/a/10400355/262789 pour plus d'informations.
Version 13 de Intellij IDEA est nécessaire pour manifester la fusion de soutien (
manifestmerger.enabled=true
). Aussi la note de génération basé sur le système de semble être nécessaire pour Android Studio de soutien.Référencé android éléments comme les activités, les récepteurs, les services, etc. DEVEZ aller dans votre manifeste de l'Application ou de ne pas être reconnu par le système d'exploitation. Comme vous l'avez deviné, la Bibliothèque de fichier manifeste est à peu près vide de la mise en œuvre
Mise à JOUR
Comme CommonsWare points ci-dessus, le Android outils de construction va maintenant tenter de fusionner les diverses manifestations sur votre nom. Laissant l'original de la réplique pour la postérité