2015-10-17 97 views
0

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

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

回答

2

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

0

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"/> 
相关问题