Entfernen des AndroidManifest-Elements mit den Produktaromen von Gradle

8

Ich richte ein Android-Projekt mit einigen Produktaromen ein. Ich hätte gerne die Berechtigung <uses-permission android:name="android.permission.INTERNET" /> in allen außer einem meiner Geschmacksrichtungen. Ich weiß, dass es möglich ist, einen bestimmten Geschmack zu haben hinzufügen eine Erlaubnis, aber ist es möglich, einen Geschmack zu haben entfernen man?

Die einzige andere Lösung, die ich mir vorstellen kann, ist das Hinzufügen der <uses-permission android:name="android.permission.INTERNET" /> -Erlaubnis für alle meine Geschmacksrichtungen, mit Ausnahme der einen, die ziemlich schmerzhaft erscheint.

    
Matthew 13.03.2014, 22:46
quelle

3 Antworten

9

Laut Dokumentation können Sie:

>
  1. Entferne die Berechtigung, indem du deinem Manifest etwas wie <permission android:name="permissionOne" tools:node="remove"/>

  2. hinzufügst
  3. und deklarieren Sie separate AndroidManifest.xml-Teile für jeden Geschmack in src/myFlavor/AndroidManifest.xml , die diese Haupt-AndroidManifest.xml

  4. zusammengeführt werden
FeelGood 13.07.2015, 15:06
quelle
14

Ich weiß, das ist alt, aber jetzt gibt es ein neues Attribut namens tools:node="remove" , mit dem Sie ein Tag aus dem Manifest entfernen können.

Deklarieren Sie den Header Ihres Manifests wie folgt:

%Vor%

Außerdem müssen Sie Ihr Tag wie folgt hinzufügen:

%Vor%

Ich hoffe, das hilft anderen.

Quelle: HIER

Auch Android Dokumentation: HIER

BEARBEITEN:

Bearbeitete die Antwort, um neue API-Änderungen zu berücksichtigen. Danke an Martin L. für seinen Kommentar

    
Cata 04.01.2015 13:29
quelle
1

Gradle Merges Manifeste so wahrscheinlich nicht. Ich habe ein ähnliches Problem gelöst (Paketnamen von Broadcast-Empfängern), indem ich das Tag aus dem Hauptmanifest lösche und es zu allen spezifischen Varianten hinzufüge.

    
robotoaster 13.03.2014 23:19
quelle

Tags und Links