Ist es möglich, eine App zu installieren und einige der angeforderten Berechtigungen auszuschließen?

88

Gelegentlich möchte ich eine Anwendung installieren, für die bestimmte Berechtigungen erforderlich sind, die meines Erachtens eigentlich nicht erforderlich sind. Kann ich die App ohne diese Berechtigungen installieren? Zum Beispiel GPS-Standort, Telefonstatus , Internetverbindung usw.

Ist es möglich, die Berechtigungen einer Anwendung nach der Installation zu ändern?

Louis Rhys
quelle
Hier ist eine verwandte Frage, die es wert ist, im Auge zu behalten: android.stackexchange.com/questions/3294
Matt
eine andere verwandte Frage stackoverflow.com/questions/1836155/…
ccpizza

Antworten:

30

Vor Android 4.3 (Jelly Bean)

Nein. Ohne ein benutzerdefiniertes ROM ist es eine Alles-oder-Nichts-Angelegenheit. Dies ist einer der Gründe, warum Google Entwickler ermutigt, sicherzustellen, dass sie nach den absoluten Mindestberechtigungen fragen, die erforderlich sind, damit die App funktioniert.

Wenn Sie den App-Code nicht erhalten und nicht ändern können, müssen Sie entweder die Zugriffsanforderung akzeptieren oder die App nicht verwenden. Es gibt einige Alternativen, wenn Ihr Gerät gerootet ist.

Android 4.3 / 4.4 (teilweise auch 5.x)

Es gibt einen halb verborgenen Berechtigungsmanager (App Ops), der über eine Drittanbieter-App erreichbar ist , jedoch weder Root noch ein benutzerdefiniertes ROM erfordert. Android Police hat es hier behandelt .

Beachten Sie jedoch, dass Google angegeben hat, dass dies versehentlich veröffentlicht wurde, und neuere Versionen von Android dies erneut deaktiviert haben.

Android 4.4+

Zusätzlich zu den oben genannten App Ops können Sie hier auch das Xposed Framework (für Android 5+ siehe hier ) mit Modulen wie Xprivacy oder Protect My Privacy verwenden . Hierfür muss Ihr Gerät zwar gerootet sein, es bietet jedoch zusätzliche Funktionen.

Android 6+

marcioggs erläuterte die in Android M bereitgestellten Funktionen in einer separaten Antwort.

Ale
quelle
3
Wenn Sie als Root angemeldet sind, können Sie den Netzwerkzugriff mit DroidWall ausschließen, dies ist jedoch eine bestimmte Ausnahme.
TREE
8
Leider hat Google beschlossen, Dinge zu gruppieren, die viele Unterhaltungsanwendungen benötigen, z. B. die Feststellung, ob ein Anruf aktiv ist, und zwar mit derselben Berechtigung wie Dinge, die nur sehr wenige Anwendungen ohne Telefonfunktion benötigen, z. B. die Feststellung der Telefonnummer.
Chris Stratton
17

CyanogenMod 7 unterstützt dies. Die Aktivierung erfolgte durch Aufrufen Settings->CyanogenMod Settings->Applicationsund Aktivieren von "Berechtigungsverwaltung" ab dem letzten Build. Sie können dann Berechtigungen zulassen und ablehnen, indem Sie eine App aus der App-Verwaltungsliste auswählen ( Settings->Applications->Manage applications). Es gibt einen Artikel über Endgaget mit einer Youtube-Demonstration.

Haftungsausschluss: Dies mag für einige offensichtlich sein, aber die Verweigerung von Berechtigungen für eine App kann ziemlich absturzgefährdende Folgen haben. Wenn Sie jedoch über ein Gerät verfügen, das von CM unterstützt wird, und bereit sind, es zu rooten und zu installieren, können Sie die Berechtigungskontrolle (und alle damit verbundenen Gefahren) nutzen.

Aufgrund der Abstürze, die die Implementierung der Berechtigungsverwaltung tendenziell verursachte, wurde sie in Version 9 aus der CyanogenMod-Codebasis entfernt. Die neuesten nächtlichen Builds von CyanogenMod 10.1 enthalten jedoch jetzt eine Funktion, die als " Privacy Guard " bezeichnet wurde. Statt Sperrung Anwendungen auf Daten zugreifen , die sie anfordern, wird Privacy Guard sie mit bieten leere Daten.

Wenn beispielsweise eine App, die unter Privacy Guard ausgeführt wird, Ihre Kontaktliste anfordert, gibt CM einfach eine leere Liste zurück, sodass die App davon ausgeht, dass auf Ihrem Telefon keine Kontakte gespeichert sind.

eldarerathis
quelle
1
Leider werden gefälschte Daten für die Integration in CyanogenMod nicht berücksichtigt.
Denis Nikolaenko
8

Es gibt eine App Shield- Anwendung. Es packt .apk im Wesentlichen neu, wobei die Berechtigungen aus dem Manifest entfernt wurden . Geniale Idee für lagerhaltige, nicht gerootete Handys. Vorbehaltlich Abstürze (Kraftschluss) jedoch wie bei CyanogenMod (ab Version 7).


Update: App Shield scheint nicht mehr gewartet zu werden. Es ist derzeit in einigen "persönlichen Aptoide-Repositories" zu finden, zB bei Mixal und Karbyfio . Es wird empfohlen, jetzt lieber etwas aktuelleres zu verwenden.

Denis Nikolaenko
quelle
7

HINWEIS: LBE Privacy Guard wird nicht länger gewartet und ist nur für Android-Versionen unter 4.2 verfügbar.

Warnung: Wenn Sie Jelly Bean (Android 4.1 oder höher) verwenden, prüfen Sie, ob LBE für Jelley Bean bereits aktualisiert wurde. Im Moment (27. Juli 2012) ist es noch nicht kompatibel und es führt dazu, dass Ihr Gerät auf Jelly Bean eine Schleife startet . Das bedeutet, dass Sie Ihr Gerät möglicherweise auf die Werkseinstellungen zurücksetzen müssen. Stattdessen wird jetzt Xprivacy empfohlen (root erforderlich).


LBE Privacy Guard kann bestimmte Berechtigungen pro Anwendung sowohl während der Installation als auch danach blockieren. Dies ist die englische Version einer anscheinend chinesischen Anwendung, die schon eine Weile existiert (ich bin in keiner Weise mit ihnen verbunden). Es hat bereits über 100.000 Downloads. Ich habe es noch nicht ausprobiert, aber ich plane es morgen.

Sie können festlegen, dass Facebook beispielsweise eine Eingabeaufforderung (Ja / Nein) anzeigt, wenn es auf Ihren Standort zugreifen möchte usw. Ein Screenshot aus dem Play Store:

Bildbeschreibung hier eingeben

Cerberus
quelle
Dies ist meiner Meinung nach die beste Berechtigungsverwaltungs-App - ich benutze sie seit einiger Zeit und sie ist ausgezeichnet.
Logos
@Logos: Ich benutze es seit ein paar Stunden und bin damit einverstanden!
Cerberus
Funktioniert nicht mit Xperia ray mit CM 10.0. Ich musste nur mein Gerät neu installieren!
Rubo77
@ rubo77: Autsch, das nervt! (Hast du meine Warnung oben gelesen?)
Cerberus
Ja, aber ich dachte, ich könnte damit durchkommen;) Sie sollten hinzufügen, dass es keine Möglichkeit gibt, einen Bootloop wiederherzustellen, und dass es auf vielen Geräten nicht funktioniert. Wenn man sich das Feedback im Play Store ansieht, ist genau die Hälfte der Stimmen 5 und die Hälfte 1, also schätze ich, dass jedes zweite Gerät ausfällt
rubo77 29.10.13
6

Die folgenden Funktionen werden in Android M bereitgestellt:

  • Geben Sie während der Rutime nach Bedarf bestimmte Berechtigungen.
  • Zeigen Sie die Erlaubnis einer App an.
  • Alle Apps anzeigen, die eine bestimmte Berechtigung verwenden.

Dokumentation zur M-Vorschau:

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

Berechtigungsbildschirm:

(Zum Vergrößern auf das Bild klicken)

IMG:

marcioggs
quelle
3

Sie können das Xposed Framework zusammen mit dem Modul für App-Einstellungen verwenden , um Anwendungsberechtigungen zu verweigern. Sie können damit auch die DPI-Einstellungen ändern, sodass Apps auf Telefonen im Tablet-Modus ausgeführt werden können und umgekehrt (zusammen mit der allgemeinen Änderung der Größe). Es funktioniert wunderbar für mich. Sie benötigen jedoch root, um es zu installieren.

Vielen Dank an Izzy für den Hinweis auf die Notwendigkeit eines Moduls. Gemäß ihrem Kommentar können Sie auch Xprivacy oder Protect My Privacy verwenden , um diese Kontrolle zu erreichen.

Paarth
quelle
Zum Zeitpunkt der Erstellung dieser Antwort war das App-Einstellungsmodul im Lieferumfang der meisten xposed-Framework-Installationen enthalten. Dieses Modul unterstützt diese Funktionalität.
Paarth
1
Danke, dass du dich immer noch um deine "alten Antworten" kümmerst - +1 dafür :) Also werden wir unsere Kommentare dann bereinigen (löschen) :) PS: Bitte lass dein erstes, es macht immer noch Sinn :)
Izzy
0

Ich bin auf diese App namens Permission Remover gestoßen , mit der Sie Berechtigungen aus dem APK-Paket entfernen können, bevor Sie es installieren. Funktionierte sowohl für installierte als auch für heruntergeladene APKs. Diese Methode ist praktisch, da Sie Ihr Gerät nicht rooten müssen.

DaSpider
quelle
0

Eine gute App (die seit 2016 nicht mehr im Playstore ist) von root uninstaller : Um einer App den Zugang zum Internet in CyanogenMod zu entziehen, können Sie Root Firewall verwenden (benötigt root).

Es kann den Internetzugang für alle Apps blockieren.

Die kostenlose Version kann entweder alle Apps oder nur bis zu 7 verschiedene Apps blockieren.

rubo77
quelle
0

Fein abgestimmte App-Berechtigungen sind in Vorgängerversionen von Android bis Version 5.1.1 nicht vorhanden. Google hat ab 6.0 ein neues Berechtigungsmodell eingeführt, das einige Steuerelemente basierend auf Berechtigungsgruppen enthält. Wenn Sie jedoch auf einem Gerät mit Version 5.1.1 oder niedriger Root-Zugriff haben, können Sie Ihrem Gerät diese Funktion hinzufügen.

  1. Xposed Framework

Gehen Sie zu xda-developers.com und suchen Sie nach "xposed framework", um Informationen zur Installation des Frameworks zu erhalten. Installieren Sie nach der Installation des Frameworks entweder das XPrivacy- oder das App-Einstellungsmodul , um mehr Kontrolle über die einzelnen Apps und die ihnen erteilten Berechtigungen zu erhalten.

  1. Installieren Sie ein Cyanogenmod-basiertes ROM

Gehen Sie zu Cyanogenmod Downloads und prüfen Sie, ob Ihr Gerät aufgelistet ist. Wenn dies nicht der Fall ist, kehren Sie zu xda-developers.com zurück und rufen Sie die Seite Ihres Geräteforums auf, um eine Liste der ROMs für Ihr Gerät zu finden. Suchen Sie im ursprünglichen Beitrag eines ROM-Threads nach Informationen, die auf "cyanogenmod" oder "cm" verweisen, um die richtige Basis für den Zugriff auf die Berechtigungssteuerung zu finden.

Hoffe das hilft.

Teilchenwellendelta
quelle