W naszej build.gradle zaktualizowaliśmy bibliotekę reklamy play-usługi z 6.5.87 do 7.5.0PlayServices reklamy 7.5.0 biblioteki potrzebują pozwolenia WRITE_EXTERNAL_STORAGE
compile com.google.android.gms:play-services-ads:7.5.0
Po uaktualnieniu widzimy nowe zezwolenie w naszym scalone AndroidManifest.xml (umieszczone w/build/półproduktów/manifesty/full/release /)
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
odniesieniu do logarytmu ManifestMerger to uprawnienie jest dodawana przez play-services ogłoszenia
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
W oficjalnej dokumentacji nie widzimy żadnej wskazówki, że to uprawnienie jest potrzebne. Jedynie następujące uprawnienia są udokumentowane:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
Czy jest jakaś oficjalna informacja, dlaczego to nowe uprawnienie dodano? Czy to błąd?
Obecnie mamy problem z wytłumaczeniem naszych użytkowników, dlaczego potrzebujemy tego nowego pozwolenia.
EDYCJA: Zły alarm! Mylnie zinterpretowałem plik manifest-merger-result.txt. Nowe zezwolenie nie zostało dodane przez zależność od play-services-ads, ale dodaliśmy także zależność od play-services-location. Usługa odtwarzania-lokalizacja ma odniesienie do usług odtwarzania-map, która potrzebuje tego uprawnienia do buforowania płytek.
Prawidłowa interpretacja oczywistej fuzji-Result.txt będący wynikiem jest:
uses-permission#android.permission.WRITE_EXTERNAL_STORAGE
ADDED from com.google.android.gms:play-services-maps:7.5.0:22:5
play-usługi-maps automatycznie dodać ten "brakujący" zezwolenie, jeśli lib został dodany. Byłoby miło wiedzieć, czy dobrze jest usunąć te uprawnienia mapowe, jeśli nie korzystamy z Map-API. Ponieważ używamy tylko interfejsu API lokalizacji.
W jaki sposób otrzymałeś te dzienniki "ADDED"? wszystkie moje aplikacje korzystają z modułu 'play-services-ads' i nie mam dodanego uprawnienia" android.permission.RED_REMEX_INTERNAL_STORAGE ". –
Po prostu obejrzałem w manifeście-merger-release-report.txt w/app/build/outputs/logs – Christopher
Jared: https://commonsware.com/blog/2015/06/25/hey-where-did-these -permissions-come-from.html –