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.
Laut Dokumentation können Sie:
> Entferne die Berechtigung, indem du deinem Manifest etwas wie <permission android:name="permissionOne" tools:node="remove"/>
und deklarieren Sie separate AndroidManifest.xml-Teile für jeden Geschmack in
src/myFlavor/AndroidManifest.xml
, die diese Haupt-AndroidManifest.xml
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
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.