Ich stehe momentan vor folgendem Problem:
Ich habe die App 'A' entwickelt, die die Berechtigungen 1, 2, 3 verwendet und eine Drittanbieter-Bibliothek 'B' als Abhängigkeit verwendet (hinzugefügt mit maven & amp; grandle).
Bibliothek 'B' verwendet die Berechtigungen 4 und 5. Jetzt, beim Erstellen der App, fügt der Manifest-Merger die Berechtigungen 4 und 5 zur App 'A' hinzu.
Wie kann ich das verhindern und habe nur die Berechtigungen 1, 2 und 3 im endgültigen Manifest?
Meine erste Schätzung wäre die Verwendung eines der Manifest Merger Markers, wie hier zu sehen: Ссылка
Sie müssen Selector verwenden
Jede tools: node oder tools: attr-Deklaration kann um a erweitert werden Werkzeuge: Selektorattribut, das kontextabhängige Information darüber ist, ob oder nicht die Verschmelzungsstrategie sollte auf die aktuelle niedrigere angewandt werden Priorität XML-Beschreibung. Dies ist zum Beispiel beim Entfernen eines Erlaubnis nur, wenn für eine bestimmte Bibliothek im Gegensatz zu irgendwelchen kommt Bibliothek:
%Vor%
Es wäre nächsten Ihren ursprünglichen Anforderungen entsprechend
%Vor% Beachten Sie jedoch, dass alle anderen <uses-permissions/>
entfernt werden.
Wie Sie wissen, haben alle Bibliotheken eine Manifestdatei und werden zusammengeführt. Sie können damit eine Berechtigung in einer Ihrer Bibliotheken entfernen:
%Vor%für ein Beispiel zum Entfernen der Standortberechtigung:
%Vor%Tags und Links android android-manifest android-gradle