我使用Android Studio构建我的项目,在查看manifest-merger-debug-report.txt
文件后,我看到以下权限已添加到我的清单中:
ADDED from com.google.android.gms:play-services-base:7.5.0:22:13
uses-permission#android.permission.ACCESS_COARSE_LOCATION
似乎play-services lib将ACCESS_COARSE_LOCATION权限合并到了我的清单。我正在使用播放服务以支持我的库中的GCM(play-services-gcm)。我一直在使用播放服务库很长一段时间,直到最近更新了lib,它似乎因某种原因添加了这个权限。这显然不是我想要的,因为更少的用户会相信我的应用程序。
无论如何我仍然可以使用lib,没有这个不必要的许可吗?
答案 0 :(得分:7)
Google Play服务7.5会自动添加所需的权限 - 当您使用com.google.android.gms:play-services
时 - 表示您正在使用Google Play服务的每个部分,可能会添加超出您预期的权限。
您可能需要有选择地仅编译您需要的Google Play服务API。
Here是指向分离的库的链接,这里是编写本文时的列表:
Google + com.google.android.gms:play-services-plus:7.5.0
Google帐户登录 com.google.android.gms:play-services-identity:7.5.0
Google操作,基本客户端库 com.google.android.gms:play-services-base:7.5.0
Google App Indexing com.google.android.gms:play-services-appindexing:7.5.0
Google App邀请 com.google.android.gms:play-services-appinvite:7.5.0
Google Analytics com.google.android.gms:play-services-analytics:7.5.0
Google Cast com.google.android.gms:play-services-cast:7.5.0
Google云消息传递 com.google.android.gms:play-services-gcm:7.5.0
Google云端硬盘 com.google.android.gms:play-services-drive:7.5.0
适合Google com.google.android.gms:play-services-fitness:7.5.0
Google位置,活动识别和地点 com.google.android.gms:play-
services-location:7.5.0
Google地图 com.google.android.gms:play-services-maps:7.5.0
Google移动广告 com.google.android.gms:play-services-ads:7.5.0
Google附近 com.google.android.gms:play-services-nearby:7.5.0
Google Panorama Viewer com.google.android.gms:play-services-panorama:7.5.0
Google Play游戏服务 com.google.android.gms:play-services-games:7.5.0
SafetyNet com.google.android.gms:play-services-safetynet:7.5.0
Google电子钱包 com.google.android.gms:play-services-wallet:7.5.0
Android Wear com.google.android.gms:play-services-wearable:7.5.0
答案 1 :(得分:0)
添加
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" tools:node="remove" />
到您的主要清单以删除此权限。