Gradle: Comment fusionner manifeste Android fichiers pour les différents buildTypes qui ont besoin de la même Activité, mais avec une intention différente-filtres
donc je suis en train d'utiliser gradle de créer un buildType, mais que buildType besoin d'utiliser des caractéristiques différentes pour la même Activité. Dans ce cas, mon splash activité a besoin d'un autre intent-filter selon buildType. Est-ce possible?
J'obtiens l'erreur suivante dans gradle:
:Tinder:processUtestManifest
[AndroidManifest.xml:67, AndroidManifest.xml:38] Trying to merge incompatible /manifest/application/activity[@name=com.<company_name>.activities.ActivitySplash] element:
<activity
@android:name="com.<company_name>.activities.ActivitySplash"
<intent-filter>
<action
-- @android:name="android.intent.action.MAIN">
<activity
@android:name="com.<company_name>.activities.ActivitySplash"
<intent-filter>
<action
++ @android:name="com.apphance.android.LAUNCH">
OriginalL'auteur Karim Varela | 2013-09-09
Vous devez vous connecter pour publier un commentaire.
Il n'est pas possible de fusionner les intent-filter séparément pour le moment donc je vous conseille de copier l'intégralité d'
<activity>
nœud danset
et vous obtiendrez fusionnées automatiquement dans la version finale du manifeste (bien sûr, vous aussi vous voulez supprimer de la principale manifeste).
êtes-vous à la personnalisation de l'sourcesets? cela ne devrait pas arriver si vous n'avez pas ou si vous l'avez fait, vous aurez besoin de faire le chemin que j'ai mentionnés correspondent à votre structure.
Merci Xav, j'ai essayé d'installer mon projet comme vous le suggérez, mais cette configuration n'a apparemment causé un autre problème avec Android Annotations donc je ne suis pas en mesure de déterminer si cela résout mon problème de la fusion de. L'autre question est de savoir à stackoverflow.com/questions/18833642/.... Si ça ne vous dérange pas de prendre un coup d'oeil, j'avais vraiment l'apprécier!
J'ai essayé de résoudre Gradle la fusion et de l'écrasement des questions aussi bien, sauf que le mien n'est pas liée à des activités et des filtres d'intention, c'est plutôt liée à la manifester les attributs android:sharedUserId. Utilisé la structure de dossier que vous l'avez suggéré, mais il ne fonctionne pas. Pouvez-vous suggérer une solution?
il n'y a pas évidemment de solutions pour l'instant, mais nous travaillons sur l'amélioration de l'manifeste fusion bientôt
OriginalL'auteur Xavier Ducrohet
Permettez-moi de poster une solution complète qui fonctionne. Dans ce cas, l'application permet de gérer des filtres d'intention pour les deux images et des vidéos. Cependant, pour une saveur particulière, nous ne voulons capturer des vidéos, pas les images.
Dire votre activité est définie comme ceci:
Pour votre saveur nommé myFlavor, que je suppose que vous avez déjà, vous devez avoir ceci dans votre
AndroidManifest.xml
fichier:Synchronisation avec Gradle, et de vérifier la finale manifeste, c'est généralement dans
myApp/build/intermediates/manifests/full/myFlavor/debug/AndroidManifest.xml
OriginalL'auteur espinchi
Changer le AndroidManifest dans la consommation app/lib à partir de:
:
Je reçois toujours "Essayer de fusionner incompatible" après l'ajout de cette 🙁
Cette solution bitrotted. Voir un un ici stackoverflow.com/questions/21239844/...
OriginalL'auteur swooby