2015-07-01 6 views
7

Nel nostro build.gradle abbiamo aggiornato la libreria play-services annunci da 6.5.87 a 7.5.0PlayServices annunci biblioteca 7.5.0 bisogno del permesso WRITE_EXTERNAL_STORAGE

compile com.google.android.gms:play-services-ads:7.5.0 

Dopo l'aggiornamento vediamo una nuova autorizzazione nel nostro fuse AndroidManifest.xml (collocato in/build/intermedi/manifesti/full/rilascio /)

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

per quanto riguarda il registro del ManifestMerger questa autorizzazione viene aggiunto da play-servizi-ads:

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 

Nella documentazione ufficiale, non vediamo alcun suggerimento che questa autorizzazione sia necessaria. sono documentati Solo le seguenti autorizzazioni:

<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)

C'è alcuna informazione ufficiale, il motivo per cui è stato aggiunto questo nuovo permesso? O questo è un bug?

Attualmente abbiamo problemi a spiegare i nostri utenti, perché abbiamo bisogno di questa nuova autorizzazione.

MODIFICA: allarme errato! Stavo interpretando erroneamente manifest-merger-result.txt. La nuova autorizzazione non è stata aggiunta dalla dipendenza degli annunci di riproduzione, ma è stata aggiunta anche la dipendenza del servizio di riproduzione. I servizi di gioco - posizione hanno un riferimento ai servizi di gioco - mappe, che necessita di questa autorizzazione per la memorizzazione nella cache delle tessere.

La corretta interpretazione del manifesto-fusione-result.txt è:

uses-permission#android.permission.WRITE_EXTERNAL_STORAGE 
ADDED from com.google.android.gms:play-services-maps:7.5.0:22:5 

I play-servizi-mappe aggiungono automaticamente questa autorizzazione "mancante", se è stata aggiunta la lib. Sarebbe bello sapere, se è una buona idea rimuovere le autorizzazioni di questa mappa, se non usiamo la Map-API. Perché utilizziamo solo l'API di posizione.

+0

Come hai ottenuto i registri "AGGIUNTI"? tutte le mie app usano il modulo 'play-services-ads' e non ho l'autorizzazione' android.permission.WRITE_EXTERNAL_STORAGE' aggiunta. –

+0

Ho semplicemente guardato il file 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 –

risposta

1

Questo è stato risolto come parte di Google Play services 8.3 - l'API di Maps (su cui si basa la posizione) non richiede più l'autorizzazione di archiviazione e non la aggiunge più tramite fusione manifest.

Problemi correlati