PlayServices广告库7.5.0需要WRITE_EXTERNAL_STORAGE权限

时间:2015-07-01 12:18:06

标签: android admob google-play-services

在我们的build.gradle中,我们将播放服务广告库从6.5.87更新为7.5.0

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

升级后,我们在合并的AndroidManifest.xml中看到了一个新权限(放在/ build / intermediates / manifests / full / release /中)

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

关于ManifestMerger的日志,此权限由play-services-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

在官方文档中,我们没有看到任何需要此权限的提示。仅记录以下权限:

<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

是否有任何官方信息,为什么添加此新权限?或者这是一个错误吗?

目前我们无法向用户解释,为什么我们需要此新权限。

编辑:错误警报! 我误解了manifest-merger-result.txt。 play-services- ads 依赖项未添加新权限,但我们还添加了play-services- location 依赖项。 play-services- 位置引用了play-services- maps ,这需要此权限来缓存切片。

manifest-merger-result.txt的正确解释是:

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

play-services-maps会自动添加这个&#34;缺失&#34;权限,如果添加了lib。如果我们不使用Map-API,如果删除这个map-permissions是个好主意,那将是很好的。因为我们只使用Location-API。

1 个答案:

答案 0 :(得分:1)

这已作为Google Play services 8.3的一部分修复 - Maps API(该位置所依赖的)不再需要存储权限,不再通过清单合并添加它。