2015-10-17 144 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"/> 
相關問題