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