2015-07-01 3 views
7

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"/> 

(https://developers.google.com/mobile-ads-sdk/docs/dfp/android/quick-start#modifying_the_android_manifest)

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.

+0

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". –

+0

Ich beobachtete einfach die Manifest-Merger-Release-Report.txt in/app/build/outputs/logs – Christopher

+2

Jared: https://commonsware.com/blog/2015/06/25/hey-where-did-these -permissions-come-from.html –

Antwort

1

Dies wurde als Teil von Google Play services 8.3 behoben - die Google Maps-API (auf die der Standort angewiesen ist) benötigt keine Speicherberechtigung mehr und fügt sie nicht mehr über die Manifest-Fusion hinzu.