在我们的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"/>
是否有任何官方信息,为什么添加此新权限?或者这是一个错误吗?
目前我们无法向用户解释,为什么我们需要此新权限。
编辑:错误警报! 我误解了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。