In unserem build.gradle wir die Play-Dienste Anzeigen Bibliothek von 6.5.87 bis 7.5.0PlayServices Anzeigen Bibliothek 7.5.0 benötigen WRITE_EXTERNAL_STORAGE Erlaubnis
compile com.google.android.gms:play-services-ads:7.5.0
Nach dem Upgrade wir eine neue Berechtigung in unserer fusionierte aktualisiert sehen AndroidManifest.xml (platziert in/build/Zwischenprodukte/Manifeste/full/release /)
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
in Bezug auf das Protokoll der ManifestMerger diese Berechtigung durch Play-Dienste-Anzeigen hinzugefügt:
ADDED from com.google.android.gms:play-services-ads:7.5.0:30:9
android:theme
ADDED from com.google.android.gms:play-services-ads:7.5.0:31:13
android:name
ADDED from com.google.android.gms:play-services-ads:7.5.0:30:19
uses-permission#android.permission.WRITE_EXTERNAL_STORAGE
In der offiziellen Dokumentation sehen wir keinen Hinweis, dass diese Berechtigung benötigt wird. Es werden nur die folgenden Berechtigungen dokumentiert:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
Gibt es eine offizielle Informationen, warum diese neue Erlaubnis gegeben? Oder ist das ein Fehler?
Derzeit haben wir Schwierigkeiten, unseren Benutzern zu erklären, warum wir diese neue Berechtigung benötigen.
EDIT: Falscher Alarm! Ich habe die manifest-merger-result.txt falsch interpretiert. Die neue Erlaubnis wurde nicht von den Play-Services-Anzeigen Abhängigkeit hinzugefügt, aber wir haben auch die Play-Services-Standort Abhängigkeit hinzugefügt. Die Play-Services-Position hat einen Verweis auf Play-Services-Karten, die diese Berechtigung zum Caching der Kacheln benötigt.
Die richtige Interpretation des Manifests-Merger-result.txt ist:
uses-permission#android.permission.WRITE_EXTERNAL_STORAGE
ADDED from com.google.android.gms:play-services-maps:7.5.0:22:5
Die Play-Dienste-Karten diese "fehlende" Erlaubnis automatisch hinzufügen, wenn die lib hinzugefügt wurde. Es wäre schön zu wissen, ob es eine gute Idee ist, diese Map-Berechtigungen zu entfernen, wenn wir die Map-API nicht verwenden. Weil wir nur die Location-API verwenden.
Wie haben Sie diese "ADDED" Logs bekommen? Alle meine Apps verwenden das Modul "play-services-ads" und ich habe keine Berechtigung "android.permission.WRITE_EXTERNAL_STORAGE". –
Ich beobachtete einfach die Manifest-Merger-Release-Report.txt in/app/build/outputs/logs – Christopher
Jared: https://commonsware.com/blog/2015/06/25/hey-where-did-these -permissions-come-from.html –