App-Berechtigungen ohne Root widerrufen?

8

Ich habe einige Apps, die nach unnötigen Berechtigungen fragen. Ich möchte diese widerrufen, aber ich habe gelesen, dass dies ohne Rooting nicht möglich ist.

Gibt es eine Möglichkeit, dies zu tun, ohne rooten zu müssen?

RR
quelle

Antworten:

9

Ja, obwohl es nicht wirklich elegant ist und es eine WIRKLICH schlechte Idee ist, es zu tun.
Die App, mit der Sie es tun, wird höchstwahrscheinlich kaputt gehen, wenn Sie eine Berechtigung widerrufen haben und versucht, sie zu verwenden. Wenn dies nicht ausreicht, verlieren Sie Ihre App-Daten und können nicht über den Play Store aktualisieren. Trotzdem ist es nicht so schwer zu tun.

Du brauchst ein Apktool . Informationen zur Verwendung finden Sie in dieser Anleitung (Sie benötigen die Befehle dekompilieren und kompilieren.) Und dies beim Signieren der apk, nachdem Sie fertig sind. Sie müssen die AndroidManifest.xmlDatei ändern . Suchen Sie nach Zeilen wie diesen:

<uses-permission android:name="android.permission.CAMERA" />

und entfernen Sie es, wenn es Sie stört.

Nachdem Sie fertig sind, kompilieren Sie die App neu und signieren Sie sie. Jetzt können Sie die ursprüngliche App deinstallieren und die neue mit einem Dateimanager oder in adb mit installieren

adb install /local/path

Um herauszufinden, was jede Berechtigung zulässt, können Sie in der unvollständigen Dokumentation nachsehen oder nach dem Namen suchen.

RR
quelle
Großartig, danke für Ihre Mühe, dies aufzuschreiben. Als Programmierer bin ich misstrauisch gegenüber der Idee, dass es verständlich ist, dass dies zu unbehandelten Ausnahmen führt - eine Internetverbindung kann nicht immer verfügbar sein, und selbst System-Apps müssen diesen potenziellen Fehler umgehen. (Um fair zu sein, würde die API vermutlich eher eine nicht zulässige Ausnahme als eine Timeout-Ausnahme auslösen, die anders behandelt werden müsste. Es sollte jedoch immer eine Sammelausnahme für alle nicht behandelten Typen geben, imo).
Halfer
Wenn Sie sagen, dass Sie nicht aus dem Play Store aktualisieren können, meinen Sie dann nur Apps, die auf diese Weise aktualisiert wurden, oder wenn dieser Vorgang für eine App durchgeführt wurde, können keine Apps über den Store aktualisiert werden? Ich würde davon ausgehen, dass eine modifizierte App, wenn sie aktualisiert werden muss, einfach deinstalliert, erneut aus dem Store heruntergeladen und dann mit diesem Tool erneut geändert werden kann.
Halfer
Ich nehme an, eine gute Strategie, um dies zu versuchen (insbesondere bei System-Apps wie Kalender), besteht darin, jeweils eine Berechtigung zu entfernen und dann die neue Binärdatei einige Wochen lang zu testen und dann zu spülen und zu wiederholen. Man kann vielleicht ein Gefühl dafür bekommen, welche fehlenden Berechtigungen die meisten Probleme verursachen, und sich für einen Kompromiss zwischen Sicherheit und Stabilität entscheiden.
Halfer
Ich habe gesehen, wie Apps abstürzten, als Berechtigungen entfernt wurden. Ich denke, es waren Zugangskontakte oder ähnliches. Dies ist in erster Linie ein Problem bei unerfahrenen Entwicklern - ein großes Team mit einem QS-Team sollte sich um solche Dinge kümmern. Ich meinte, dass die bestimmte App nicht aktualisiert werden kann, da Sie dabei die Schlüssel ändern, die zum Signieren der App verwendet werden. Mit dem Standardkalender können Sie dies nicht tun, da Sie ihn nicht deinstallieren können, da es sich um eine System-App handelt. Auch wenn Sie einen Absturz haben, würde ein Lolcat sagen, welche Erlaubnis fehlt (IIRC)
RR
Ist es überhaupt möglich, die APK für eine von Ihnen installierte App vom Markt zu erhalten, wenn Sie nicht verwurzelt sind?
Kidburla