每个Google Play服务组件需要哪些权限?

时间:2015-10-17 18:35:50

标签: android google-play-services android-permissions

正如我在Why are permissions being automatically added to my AndroidManifest when including Google Play Services library中发现的那样,各种Google Play服务组件从Google Play Services 7.5开始隐式添加对您应用的权限。但显然并非所有组件都需要相同的权限 - 例如,play-services-games:7.8.0并不需要任何权限。

是否有一种简单的方法可以说明特定Google Play服务组件将添加哪些权限?

2 个答案:

答案 0 :(得分:2)

访问$ANDROID_SDK/extras/google/m2repository/com/google/gms。在那里,选择您想要的工件(例如play-services-maps)和版本(例如8.1.0)。在您喜欢的ZIP实用程序中打开AAR,查看其中发布的AndroidManifest.xml文件,以查看是否有<uses-permission>个元素。然后,打开POM文件,查看它们的依赖关系,并为这些依赖关系重复AAR的过程。

答案 1 :(得分:1)

this excellent article中所述,您可以在此处看到在构建过程中创建的最终清单文件;

app/build/intermediates/manifests/full/debug/AndroidManifest.xml

您还可以查看显示每个权限来源的报告;

app/build/outputs/logs/manifest-merger-debug-report.txt

您可以在清单中使用这样的行来删除您想要的任何额外权限(但要小心!您可能会破坏功能);

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