Страницы

Поиск по вопросам

четверг, 25 октября 2018 г.

Разрешения/Permissions, которых нет в Manifest

Не пойму, что за магия:
AndroidManifest.xml

Настройки этого приложения:

Откуда берутся разрешения на память и телефон, если я в манифесте их не прописал?
Как вообще можно узнать, где они могут использоваться? Использовал новый диалог на разрешение локации для андроид >=6.
Почему я вообще этим заинтересовался - когда грузил в маркет на публикацию приложение, вышел такой диалог
Для разрешений, которые применяются в вашем файле APK (например, android.permission.READ_CONTACTS), необходимо настроить политику конфиденциальности.
Про политику я понял, но не понял зачем мне это показывают.
Собственно 2й вопрос - этот диалог и мои разрешения в этом случае как-то связаны?
Может ли быть, что у подключенных в проекте, библиотек есть свой список разрешений?
compile 'com.android.support:appcompat-v7:24.2.1' compile 'com.android.support:design:24.2.1' compile 'com.android.support:multidex:1.0.1' compile 'com.android.support:recyclerview-v7:24.2.1' compile 'com.android.support:support-v4:24.2.1' compile 'com.google.android.gms:play-services:9.6.0' compile 'com.github.paolorotolo:appintro:3.3.0' compile 'com.squareup.picasso:picasso:2.5.2' testCompile 'junit:junit:4.12'


Ответ

Посмотри, что у тебя в итоговом манифесте (ведь они мержатся из всех используемых aar). Расположен он где-то тут:
./app/build/intermediates/manifests/full/debug/AndroidManife‌​st.xml
Какие именно пермишаны приходят из либы, можно посмотреть в их AndroidManifest.xmlях. Располагаются они где-то тут:
app/build/intermediates/exploded-aar/com.android.support/sup‌​port-fragment/24.2.1‌​/AndroidManifest.xml
Надо понять кто просит, что не надо и может ли приложение вообще работать без этого пермишана. "Ненужный" пермишан можно удалить. См. тут https://stackoverflow.com/a/31386964/310760

Комментариев нет:

Отправить комментарий