Менеджер разрешений Android

Я хочу ограничить права некоторых приложений на моем телефоне Android 4.1.2 с root-правами.

Есть ли для этого приложение с открытым исходным кодом ?

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

Ответы (1)

Это одна из моих любимых тем, поэтому позвольте мне предложить вам несколько вариантов. Но прежде чем я это сделаю, мне нужно указать на некоторые «пробелы» в вашем вопросе: не все решения работают на всех версиях Android:

  • Android 4.3/4.4: эти две версии имеют встроенное управление разрешениями (в некоторой степени), но оно скрыто. Вы можете выбрать из множества интерфейсных интерфейсов AppOps (опять же, учитывая вашу версию Android: некоторые работают только с 4.3, другие только с 4.4), чтобы открыть интерфейс и управлять разрешениями вашего приложения. Насколько я знаю, вы не можете ограничить доступ к сети с их помощью, но я должен признать, что никогда не пробовал их.
  • Специфично для ПЗУ: над CyanogenMod работали два полноценных менеджера разрешений, оба бесплатные и с открытым исходным кодом: PDroid и PDroid Manager . Но для обоих разработка, похоже, остановилась: последние выпуски были 2012 года соответственно. 2013.

Но теперь о главном: я бы порекомендовал взглянуть на XPrivacy и DonkeyGuard . Как и «настоящие менеджеры разрешений / конфиденциальности», оба требуют root, что, как вы сказали, не проблема. Этим двум дополнительно требуется, чтобы Xposed Framework подключался к системным ресурсам — и я действительно могу порекомендовать этот фреймворк для многих других вещей (это не является частью вашего вопроса, но взгляните на мою коллекцию ресурсов Xposed для получения подробной информации).

Требования, которые вы указали, довольно просты и соответствуют всем упомянутым приложениям. Но что делает два последних настолько особенными? Для DonkeyGuard это в основном удобство для пользователя и простота в эксплуатации: вам не понадобится большой учебник, чтобы использовать это (но, с другой стороны, ему дополнительно требуется Cydia Substrate для сетевых вещей, который, насколько я знаю, действительно с открытым исходным кодом) — в то время как XPrivacy дает вам гибкость и детализацию, которые вы не найдете больше нигде: вы можете, например, ограничить доступ к сети, но все же разрешить его часть — см. 3- й снимок экрана ниже:

XPКонфиденциальность Символы детализация
XPrivacy: обычное представление приложения, легенда символов, детализация (нажмите на изображение, чтобы увеличить варианты)

Это, конечно, может быть ошеломляющим, и вам наверняка потребуется некоторое время, чтобы раскрыть весь потенциал XPrivacy на вашем устройстве. Кроме того, у него есть небольшое ограничение: как следует из названия, XPrivacy понимает себя как менеджер конфиденциальности , а не менеджер разрешений, поэтому он не распространяется на все разрешения (но все, что касается конфиденциальности, что должно охватывать все, что нам обычно нужно). *XPrivacy" определенно с открытым исходным кодом: найдите код на Github .

Как я уже упоминал DonkeyGuard:

Список приложений DonkeyGuard Предупреждение о доступе Разрешения
DonkeyGuard: список приложений, предупреждение о доступе, разрешения (нажмите на изображение, чтобы увеличить его)

Вы заметите, что DonkeyGuard даже оценивает ваши приложения по «возможной опасности» (чем больше звезд, тем больше потенциальная опасность). Хотя DonkeyGuard можно найти на Github , я не уверен в его открытости: код там содержит только файлы для чтения.

Оба приложения поддерживают, помимо ваших требований:

  • полностью отозвать разрешение (может вызвать принудительное закрытие)
  • предоставить «нулевые данные» для разрешения (например, пустая адресная книга/календарь)
  • предоставить (случайные) поддельные данные для разрешения (например, поддельные координаты GPS, IMEI и т. д.)
  • вообще ограничивать разрешение, или только "по требованию"

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

+1 Я был пользователем XPrivacy и не думал, что у него могут отсутствовать некоторые разрешения, учитывая его цель. Во всяком случае, на его странице GitHub написано: XPrivacy не отменяет и не блокирует разрешения для приложения , пока вы написали « полностью отозвать разрешение (может вызвать принудительное закрытие) ». Чего я не понял, так это того, что когда я проверяю разрешение в XPrivacy, такое как галочки на 3-м снимке экрана, предоставляет ли оно поддельные данные для этих разрешений или действительно ограничивает их использование приложением? О подделке IMEI и других я знаю из настроек.
@Firelord, это было довольно давно, я пробовал это в последний раз (я являюсь давним пользователем LBE, и мне очень понравилась «облегченная международная версия», которая больше не работает с JB +) — но я собираюсь дать это еще одна попытка в ближайшее время («полная версия» LBE — монстр, который я использую максимум на 20%, и это закрытый исходный код). Поэтому я не совсем уверен, как это поведение достигается в настоящее время. Есть много мест, допускающих «фальшивые данные», почти все допускают «нулевой» (также известный как «пусто/недоступно», «активен режим полета» и т. д.). Что касается вашей цитаты: прочитайте предложение, следующее за ней :)
Я не понял часть после цитаты. Пожалуйста, подумайте о том, чтобы помочь этому бедняге. Это вопрос, который я не задавал ни самому разработчику, ни на каком-либо форуме, ни на Android-энтузиастах , потому что я ждал, пока кто-нибудь напишет об этом, и я просто всплываю там для своего запроса. :)
Кстати: в прошлом XPrivacy также использовала части Cydia, как вы можете видеть в некоторых сообщениях коммитов — например, «Удалить последний остаток поддержки субстрата Cydia» (e4ebb205). // Редактировать: Что касается вашего "запроса", я не уверен. Придется проверить самому, чтобы понять это.