2015-10-17 3 views
0

Как я узнал в Why are permissions being automatically added to my AndroidManifest when including Google Play Services library, различные компоненты Google Play Services неявно добавляют разрешения для вашего приложения, начиная с Служб Google Play 7.5. Но, очевидно, не все компоненты требуют одинаковых разрешений - например, play-services-games: 7.8.0 не требует никаких.Какие разрешения необходимы для каждого компонента Google Play Services?

Есть ли простой способ рассказать, какие разрешения будут добавлены конкретным компонентом Google Play Services?

ответ

2

Посетить $ANDROID_SDK/extras/google/m2repository/com/google/gms. Там выберите нужный артефакт (например, play-services-maps) и версию (например, 8.1.0). Откройте AAR в своей любимой утилите ZIP и посмотрите файл 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"/> 
Смежные вопросы