Можно ли установить приложение и исключить некоторые из его запрашиваемых разрешений?


88

Иногда я хочу установить приложение, для которого требуются определенные разрешения, которые, как мне кажется, на самом деле не нужны. Могу ли я установить приложение, не предоставляя ему эти разрешения? Например, местоположение GPS, состояние телефона , интернет-соединение и т. Д.

Можно ли изменить разрешения приложения после его установки?


Вот связанный вопрос, за которым стоит следить: android.stackexchange.com/questions/3294
Мэтт

другой связанный вопрос stackoverflow.com/questions/1836155/…
ccpizza

Ответы:


30

До Android 4.3 (Jelly Bean)

Нет. Без кастомного ПЗУ это все или ничего. Это одна из причин, по которой Google рекомендует разработчикам убедиться, что они запрашивают абсолютные минимальные разрешения, необходимые для работы приложения.

За исключением получения кода приложения и его изменения, вам нужно либо принять запрос на доступ, либо не использовать приложение. Существуют некоторые альтернативы, если ваше устройство рутировано.

Android 4.3 / 4.4 (частично также 5.x)

Есть полу-скрытый менеджер разрешений (App Ops), к которому можно обратиться через стороннее приложение , но не требующий рут или пользовательское ПЗУ. Полиция Android рассказала об этом здесь .

Обратите внимание, однако, что Google сказал, что это было выпущено по ошибке, и более новые версии Android снова отключили это.

Android 4.4+

В дополнение к вышеупомянутым операциям приложений , здесь вы также можете использовать Xposed Framework (для Android 5+ см. Здесь ) с такими модулями, как Xprivacy или Protect My Privacy . Хотя для этого потребуется рутирование вашего устройства, оно предлагает дополнительную функциональность.

Android 6+

Marcioggs изложил функциональные возможности, представленные в Android M в отдельном ответе.


3
Если вы root, вы можете исключить доступ к сети с помощью DroidWall, но это конкретное исключение.
ДЕРЕВО

8
К сожалению, Google решил сгруппировать вещи, которые нужны многим развлекательным приложениям, такие как определение, активен ли вызов, под тем же разрешением, что и вещи, которые нужны очень небольшому количеству не функциональных приложений, таких как определение номера телефона.
Крис Страттон

17

CyanogenMod 7 поддерживает это. Он активировался, перейдя Settings->CyanogenMod Settings->Applicationsи проверив «Управление разрешениями», начиная с самой последней сборки. Затем вы можете разрешить и запретить разрешения, выбрав приложение из списка управления приложениями ( Settings->Applications->Manage applications). На endgaget есть статья с демонстрацией на Youtube.

Отказ от ответственности: это может быть очевидным для некоторых, но отказ в правах доступа к приложению может иметь довольно катастрофические последствия. Тем не менее, если у вас есть устройство, которое поддерживается CM, и вы хотите получить root-права и установить его, вы можете пользоваться контролем разрешения за разрешением (и любыми опасностями, которые с ним связаны).

Фактически, из-за сбоев, которые имела место реализация управления разрешениями, она была удалена из кодовой базы CyanogenMod в версии 9. Однако, самые последние ночные сборки CyanogenMod 10.1 теперь включают функцию, которая получила название « Privacy Guard ». Вместо того чтобы блокировать приложениям доступ к запрашиваемым данным, Privacy Guard предоставит им пустые данные.

Например, если приложение, работающее под управлением Privacy Guard, запрашивает ваш список контактов, CM просто вернет пустой список, в результате чего приложение функционально поверит, что у вас нет контактов, сохраненных на вашем телефоне.


1
К сожалению, поддельные данные не рассматриваются для интеграции в CyanogenMod.
Денис Николаенко

8

Есть приложение App Shield . По сути, он перепаковывает .apk с разрешениями, удаленными из манифеста . Блестящая идея для стоковых, не рутированных телефонов. Однако возможны сбои (принудительное закрытие), как и в случае с CyanogenMod (начиная с версии 7).


Обновление: App Shield больше не поддерживается. В настоящее время его можно найти в некоторых «личных хранилищах Aptoide», например, в Mixal и Karbyfio . Сейчас рекомендуется использовать что-то более современное.


7

ПРИМЕЧАНИЕ: LBE Privacy Guard больше не поддерживается и доступен только для версий Android ниже 4.2.

Предупреждение: если вы используете Jelly Bean (Android 4.1+), обязательно проверьте, обновлено ли LBE для Jelley Bean. На данный момент (27 июля 2012 г.) он по-прежнему несовместим, и это приведет к загрузке вашего устройства в Jelly Bean. Это означает, что вам, возможно, придется сбросить настройки устройства до заводских настроек. Вместо этого рекомендуется Xprivacy (требуется root).


LBE Privacy Guard может блокировать определенные разрешения для приложения, как во время установки, так и после нее. Это английская версия явно китайского приложения, которое существовало некоторое время (я никоим образом не связан с ними); он уже имеет более 100 000 загрузок. Я еще не пробовал, но планирую завтра.

Вы также можете настроить, например, чтобы Facebook отображал подсказку (да / нет), когда он хочет получить доступ к вашему местоположению и т. Д. Снимок экрана из Play Store:

введите описание изображения здесь


На мой взгляд, это лучшее приложение для управления разрешениями - я давно им пользуюсь и оно отлично.
Логотипы

@Logos: я использую его уже несколько часов, и я согласен!
Цербер

Не работает на Xperia ray с CM 10.0. Мне просто пришлось переустановить свое устройство!
rubo77

@ rubo77: Ой, это отстой! (Вы читали мое предупреждение наверху?)
Цербер

Да, но я подумал, что мне это сойдет с рук;) Вы должны добавить, что нет способа восстановить загрузочную петлю и что она не работает на многих устройствах. Глядя на отзывы в магазине Play, ровно половина голосов - 5, а половина - 1, так что я думаю, что каждое второе устройство выйдет из строя
rubo77

6

Следующие функциональные возможности будут предоставлены в Android M:

  • Дайте конкретные разрешения по мере необходимости во время rutime;
  • Показать разрешение приложения;
  • Показать все приложения, которые используют определенное разрешение.

Документация для предварительного просмотра M:

https://developer.android.com/preview/features/runtime-permissions.html

Экран разрешений:

(Нажмите на изображение, чтобы увеличить)

IMG:


3

Вы можете использовать Xposed Framework вместе с модулем настроек приложения, чтобы запретить разрешения приложения. Вы также можете использовать его для изменения настроек DPI, позволяя приложениям работать в планшетном режиме на телефонах и наоборот (наряду с изменением размера вещей в целом). Это прекрасно работает для меня. Для его установки вам понадобится root.

Спасибо Иззи за указание на необходимость модуля. Согласно их комментарию, вы также можете использовать Xprivacy или Protect My Privacy для достижения этого контроля.


На момент написания этого ответа модуль настроек приложения поставлялся в комплекте с большинством установок xposed Framework. Этот модуль поддерживает эту функцию.
Paarth

1
Спасибо вам за то, что вы по-прежнему заботитесь о своих «старых ответах» - +1 за это :) Так что тогда мы удалим (удалим) наши комментарии :) PS: Пожалуйста, оставьте свой первый, это все еще имеет смысл :)
Иззи

0

Я наткнулся на это приложение под названием Permo Remover, которое позволяет вам удалить разрешения из пакета APK перед его установкой. Работал как для установленных, так и для загруженных APK. Этот метод удобен тем, что не требует рутирования вашего устройства.


0

Хорошее приложение (которого больше нет в playstore с 2016 года) от root-деинсталлятора : чтобы удалить приложение с правом входа в интернет в CyanogenMod, вы можете использовать Root Firewall (требуется root).

Он может заблокировать доступ в интернет для любых приложений.

Бесплатная версия уже может блокировать либо все приложения, либо просто блокировать до 7 различных приложений.


0

Детальные разрешения приложений отсутствуют в стандартных сборках Android до версии 5.1.1. Google ввел новую модель разрешений, начиная с 6.0, которая включает некоторый элемент управления, основанный на группах разрешений. Однако, если вы получили root-доступ на устройстве с версией 5.1.1 или ниже, есть варианты для добавления этой функции на ваше устройство.

  1. Xposed Framework

Зайдите на xda-developers.com и найдите «xposed framework», чтобы получить информацию о том, как установить фреймворк. После установки платформы установите модули XPrivacy или App Settings, чтобы получить больше контроля над каждым приложением и предоставленными им разрешениями.

  1. Установите ПЗУ на основе CyanogenMod

Перейдите в раздел «Загрузки Cyanogenmod» и посмотрите, есть ли ваше устройство в списке. Если это не так, вернитесь на сайт xda-developers.com и перейдите на страницу форума по устройствам, чтобы найти список ПЗУ для вашего устройства. Ищите что-либо, ссылающееся на «cyanogenmod» или «cm» в оригинальном посте ветки ПЗУ, чтобы найти подходящую базу для предоставления доступа к управлению доступом.

Надеюсь это поможет.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.