We’re running a funding campaign for App Manager for a limited period. learn more...
App Manager
Nutzerhandbuch
v3.0.0-alpha01
31 March 2022
Copyright © 2020–2022 Muntashir Al-Islam
“Weise und langsam. Wer schnell läuft, der stolpert.” — Bruder Lorenz, Romeo und Julia
App Manager ist ein fortschrittlicher Paketmanager für Android. Er
bietet zahllose Funktionen und benötigt daher ein Benutzer- handbuch, um
seine Benutzer zu unterstützen. Dieses Dokument fungiert als
Benutzerhandbuch für App Manager in dem Sinne, dass es darauf abzielt,
jede Funktion zu beschreiben, die App Manager zu bieten hat. Dieses
Dokument kann auch als “offizieller” Leitfaden für App Manager
betrachtet werden und stellt das erwartete Verhalten von App Manager
dar. Übersetzungen können dieses Dokument (das in Englisch verfasst ist)
falsch interpretieren. Daher sollte jeder befähigte Benutzer die
englische Version des Dokuments lesen, um das Beste aus dem App Manager
herauszuholen. Es kann auch andere inoffizielle oder
Drittanbieter-Ressourcen wie Blog-Artikel, Videos, Chat- Gruppen usw.
geben. Diese Ressourcen können zwar für viele Menschen nützlich sein,
sind aber möglicherweise nicht auf dem neuesten Stand der aktuellen
Version von App Manager. Wenn in App Manager Abweichungen von diesem
Dokument festgestellt werden, sollten diese im App Manager
Problembehandlung gemeldet werden. AM — Kurzbezeichnung für App Manager. Blockieren/Entsperren — Dient zum Sperren oder
Entsperren von Komponenten. Wie Komponenten blockiert werden, hängt von
den Benutzereinstellungen ab. IFW — Kurzform für Intent Firewall. Ops — Kurzbezeichnung für Maßnahmen, e.g. app
ops, batch ops, 1-click ops SSAID — Kurzbezeichnung von
Tracker — Bezeichnet Tracker-Komponenten im
gesamten Dokument und im App Manager, außer in der Scanner-Seite. Tracker umfassen
Bibliotheken wie Crash Reporter, Analytik, Profilerstellung,
Identifizierung, Anzeige, Standort usw. Daher sind sie in ihren
Funktionen nicht gleich. Es gibt keine Unterscheidung oder
Voreingenommenheit zwischen Open-Source- und Closed-Source-Bibliotheken,
die Tracking fördern. Derzeit werden die Versionen v2.6.0 (stable) und v3.0.0 (alpha und
Debug Versionen) unterstützt. Frühere Versionen von App Manager können
Sicherheitslücken enthalten und sollten nicht verwendet werden. App Manager wird über die folgenden Quellen verbreitet. Inoffizielle
Quellen können modifizierte Versionen von App Manager vertreiben, und
niemand außer Ihnen ist für die Folgen der Verwendung solcher
Distributionen verantwortlich. Offizielles F-Droid-Repository.1 GitHub Repository. Telegram. Alle außer GitHub sind die Spiegel-Links. Die Tags sollten immer auf
dem neuesten Stand sein, aber beim Master-Zweig ist nicht garantiert,
dass er aktuell zu sein. Wenn das Ziel ist, den Master-Zweig zu klonen,
verwenden Sie den GitHub-Link statt der anderen. App Manager akzeptiert keine Übersetzungen direkt über
Pull-/Merge-Anfragen. Übersetzungen werden automatisiert über Weblate
realisiert. Um dem Übersetzungsteam beizutreten, besuchen Sie https://hosted.weblate.org/engage/app-manager/. Es gibt mehrere Möglichkeiten, wie ein Benutzer einen Beitrag leisten
kann, z. B. durch das Erstellen hilfreicher Fragen, die Teilnahme an
Diskussionen, die Verbesserung von Dokumentationen und Übersetzungen,
das Hinzufügen unbekannter Bibliotheken oder Tracker, die Überprüfung
des Quellcodes sowie die Meldung von Sicherheitslücken. Bauanleitungen finden Sie in der Datei BUILDING, die sich im
Stammverzeichnis des Quellcodes befindet. Repositories, die sich an anderen Orten als GitHub befinden, werden
derzeit als Spiegel betrachtet. Pull-/Merge-Anfragen, die an diesen
Orten eingereicht wurden, werden nicht akzeptiert.2
Stattdessen können Patches (als Hinweis. Wenn Sie Patches per E-Mail einreichen, kann die gesamte Konversation
in Zukunft öffentlich zugänglich sein. Daher sollten Sie keine
persönlich identifizierbaren Informationen (PII) außer Ihrem Namen oder
Ihrer E-Mail-Adresse aufführen. Eine Spende oder ein Kauf ist keine Voraussetzung für die Nutzung
von App Manager. App Manager unterstützt zwar keine Käufe, es
können aber Spenden über Open Source Collective an den Entwickler von
App Manager gesendet werden. Open Source Collective ist ein Finanzdienstleister auf der Open
Collective-Plattform, der Open-Source-Projekten bei der Verwaltung ihre
Finanzen. Derzeit werden Zahlungen per Bankkonten, PayPal, Kredit- oder
Debitkarten und Kryptowährungen unterstützt. Link: https://opencollective.com/muntashir. Mit der Überweisung von Spenden stimmen die Absender zu, dass sie die
Spenden nicht als Druckmittel verwenden, um die von ihnen gewünschten
Funktionen zu priorisieren. Für Feature-Anfragen sind keine Belohnungen
oder Spenden erforderlich, und sie werden nach den Präferenzen des
Entwicklers priorisiert. App-Manager nimmt alle Angebote für Finanzierungen oder Zuschüsse
an. Vertreter der interessierten Organisation können direkt den
Entwickler über die in §[sec:Ansprechpartner]
angegebenen Optionen kontaktieren. Muntashir Al-Islam31.1 Fachbegriffe
Settings.Secure.Android_ID
. Es ist eine Gerätekennung, die
jeder App zugewiesen wird (ab Android Oreo). Sie wird aus der
Kombination des Signierzertifikats der App und der SSAID, die für das
Paket Android
festgelegt wurde. Daher ist sie für eine App
garantiert gleich, so lange der Benutzer das Gerät nicht formatiert. Sie
wird häufig für die Nachverfolgung verwendet.1.2 Unterstützte Versionen
1.3 Offizielle Quellen
1.3.1
Quellen der binären
Verteilung
Link: https://f-droid.org/packages/io.github.muntashirakon.AppManager
Normale Veröffentlichungen: https://github.com/MuntashirAkon/AppManager/releases
Debug-Versionen: https://github.com/MuntashirAkon/AppManager/actions
Normale Veröffentlichungen: https://t.me/AppManagerChannel
Debug-Versionen: https://t.me/AppManagerDebug1.3.2
Links zum Quellcode
1.3.3
Übersetzungen
1.4 Mitwirkende
1.4.1
Hinweise zur Erstellung
1.4.2
Einreichen von Patches
.patch-
Dateien) über
E-Mail-Anhänge eingereicht werden. Die Signierung ist eine
Voraussetzung. Weitere Informationen finden Sie in der Datei
CONTRIBUTING, die sich im Stammverzeichnis des Quellcodes befindet.1.5 Spende & Förderung
1.6 Ansprechpartner
Email: muntashirakon [at]
riseup [dot] net
Key Fingerprint:
7bad37c2981e41f8f6abea7f58f0b4f26c346fce
GitHub: https://github.com/MuntashirAkon
Twitter: https://twitter.com/Muntashir
Die Hauptseite listet alle installierten, deinstallierten und gesicherten Anwendungen auf. Ein einfacher Klick auf ein installiertes Anwendungselement öffnet die entsprechende Seite App-Detailseite. Für die deinstallierten Systemanwendungen wird ein Dialogfeld angezeigt, das zur Neuinstallation der Anwendung verwendet werden kann. Mit der Option Sortierung aus den Listenoptionen können die App-Elemente auf verschiedene Weise sortiert und beim Beenden beibehalten werden. Es ist auch möglich, Elemente zu filtern mit Hilfe der Filter Option in den Listenoptionen. Die Filterung ist auch über die Suchleiste mit zusätzlicher Unterstützung für reguläre Ausdrücke möglich..
Auf dieser Seite sind auch Stapeloperationen oder Operationen mit
mehreren Anwendungen möglich. Der Mehrfachauswahlmodus kann aktiviert
werden, indem man auf ein beliebiges Anwendungssymbol klickt oder indem
man auf ein beliebiges Element in der Liste lange klickt. Einmal
aktiviert, wählt ein einfacher Klick auf ein Listenelement ausgewählt,
anstatt die Seite mit den Anwendungsdetails zu öffnen. In diesem Modus
befinden sich die Stapeloperationen im Mehrfachauswahlmenü unten auf der
Seite. Zu den Operationen gehören: Hinzufügen der ausgewählten Anwendungen zu einem Profil Sicherung, Wiederherstellung oder
Löschung der Anwendungen Blockieren der Tracker für die Anwendungen Löschen von Daten oder Cache aus den Anwendungen Aktivieren/Deaktivieren/Zwangsstoppen/Deinstallieren der
Anwendungen Exportieren der im App Manager gespeicherten
Blockierungsregeln Verhindern von Hintergrundoperationen der Anwendungen (Android 7
und höher) peichern der APK-Dateien in
Einstellen von Netzrichtlinien Barrierefreiheit. Nachdem der Mehrfachauswahlmodus aktiviert wurde, ist es möglich, mit
der rechten oder linken Taste der Tastatur in das Menü mit der rechten
oder linken Taste der Tastatur oder der Fernbedienung zu navigieren. helles gräuliches Orange (Tag) /
Dunkelblau (Nacht) – Die Anwendung
ist für den Batchbetrieb ausgewählt Hellrot (Tag) / Dunkelrot (Nacht) – Deaktivierte
Anwendung Yellow Star – Debuggingfähige
Anwendung Orange Datum – Die
Anwendung hat Zugriff auf die Systemprotokolle Orange UID – Die
Benutzer-ID wird von mehreren Anwendungen gemeinsam genutzt Orange SDK – Die
Anwendung verwendet möglicherweise Klartextverkehr (z. B. HTTP) Rot Paketname – Die
Anwendung erlaubt keine Löschung ihrer Daten Red backup – Die
deinstallierte Anwendung mit einem oder mehreren Backups, die im App
Manager Orange backup –
Veraltetes Backup, d.h. das Basis-Backup enthält eine ältere Version der
installierten Anwendung Dunkles Cyan
backup – aktuelles Backup, d.h. Basis-Backup enthält die
gleiche oder höhere Version der installierten Anwendung Dark cyan package
name – Erzwungener Anwendungsstopp Dark cyan version
– Inaktive Anwendung Magenta – Persistente
Anwendung, d.h. sie bleibt die ganze Zeit über aktiv. Eine Anwendung kann entweder eine Benutzer- oder
eine System-Anwendung mit den folgenden Suffixen
sein: Auf den Versionsnamen folgen die nachstehenden Präfixe:2.1.1
Stapelverarbeitung
App Manager/apks
2.1.2
Farbcode
2.1.3
Anwendungstypen
X
– Unterstützt mehrere Architekturen0
– Keine Dex-Dateien in der Anwendung
vorhanden°
– Unterbrochene Anwendung#
– Die Anwendung hat das System aufgefordert, einen
großen Heap, d. h. großen Laufzeitspeicher, zuzuweisen?
– Die Anwendung forderte die virtuelle Maschine
auf, in den sicheren Modus zu wechseln.2.1.4
Infos zur Version
_
– Keine Hardware-Beschleunigung (was die
In-App-Animationen oder Transparenzen beeinträchtigt)~
– Reine Testanwendungdebug
– Debuggingfähige Anwendung
Die Seite App-Details besteht aus 11 (elf)
Registerkarten. Sie beschreibt fast alle Informationen, die eine App
haben kann, einschließlich aller Attribute aus dem Manifest, Anwendungsoperationen, Signier- Informationen,
Bibliotheken, und so weiter. Liste der Hintergrundfarben, die auf dieser Seite verwendet werden,
und ihre Bedeutung: Rot (Tag) / Dunkelrot
(Nacht) – Kennzeichnet alle App-OPs oder Berechtigungen
mit dem Flag "Gefährlich" oder alle im App Manager blockierten
Komponenten Hellrot (Tag) / sehr
Dunkelrot (Nacht) – Bezeichnet die außerhalb des App
Managers deaktivierten Komponenten Hinweis. Eine Komponente, die als deaktiviert gekennzeichnet ist, bedeutet
nicht immer, dass sie vom Benutzer deaktiviert wurde: Sie kann auch vom
System deaktiviert werden oder in ihrem Manifest als deaktiviert
gekennzeichnet sein. Die Komponenten einer deaktivierten Anwendung
werden auch vom System (und App Manager) als deaktiviert betrachtet. Kräftiges Orange (Tag) / sehr dunkles Orange (Nacht) –
Bezeichnet die Tracker-Komponenten Zartes Magenta (Tag) / sehr dunkles Violett (Nacht) –
Bezeichnet die laufenden Dienste. App Info enthält allgemeine Informationen über eine
Anwendung. Außerdem werden hier viele Aktionen aufgelistet, die auf
dieser Registerkarte durchgeführt werden können. Die folgende Liste ist in der gleichen Reihenfolge wie auf der
Registerkarte "App-Info" aufgeführt. Anwendungssymbol Das Anwendungssymbol. Wenn eine
App kein Symbol hat, wird das Standardsymbol des Systems
angezeigt. Anwendungslabel. Das Anwendungslabel oder der
Anwendungsname. Version. Die Anwendungsversion ist in zwei Teile
unterteilt. Der erste Teil heißt Versionsname. Das Format
dieses Teils variiert, besteht aber häufig aus mehreren durch Punkte
getrennten Ganzzahlen. Der zweite Teil wird Versionscode
genannt und ist unter der ersten Klammer geschlossen. Der Versionscode
ist eine ganze Zahl, die normalerweise verwendet wird, um zwischen den
Versionen einer Anwendung zu unterscheiden (da der Versionsname oft von
einer Maschine nicht gelesen werden kann). Im Allgemeinen hat eine neue
Version einer Anwendung einen höheren Versionscode als die alte. Wenn
zum Beispiel Tags. (Auch bekannt als Tag-Clouds) Tags
enthalten die grundlegenden, prägnanten und nützlichsten Informationen
zu einer App. Tracker Info (d. h. die Anzahl der
Tracker-Komponenten), App Typ (Benutzer-App oder System-App und
ob es sich bei der App um eine aktualisierte Version der System-App
handelt oder ob die App systemlos unter Verwendung von Magisk
installiert wurde), Laufende (d. h. ein oder mehrere Dienste
der App laufen im Hintergrund), split APK info (d. h. der
Splits), fehlersuchfähig (die App ist eine Debug-Version),
nur für Tests (die App ist eine reine Test App), großer
Speicherplatz (die App hat einen großen Speicherplatz angefordert),
gestoppt (die App wurde zwangsweise gestoppt),
deaktiviert (die App ist deaktiviert),
Schlüsselspeicher (die App hat Elemente im Android KeyStore),
no code (die App hat keinen mit ihr verbundenen Code), SSAID, Netzrichtlinie
(Netzrichtlinie, z. B. Nutzung von Hintergrunddaten) und
Batterieoptimierung. Die Bedeutung von nur für Tests
und fehlersuchfähig liegt darin, dass Apps mit diesen
Eigenschaften zusätzliche Aufgaben übernehmen können oder diese Apps
ohne Root Horizontales Aktionsfeld Dies ist ein
Aktionsfeld, das verschiedene Aktionen für die App enthält. Siehe §2.2.2.2 für eine
vollständige Liste der hier verfügbaren Aktionen. Pfade & Verzeichnisse. Enthält verschiedene
Informationen zu Anwendungspfaden, einschließlich App-
Verzeichnissen (wo die APK-Dateien gespeichert sind),
Datenverzeichnisse (intern, gerätegeschützt und extern),
gesplittete APK-Verzeichnisse (zusammen mit den Split-Namen),
und native JNI-Bibliothek (falls vorhanden). JNI- Bibliotheken
werden verwendet, um native Codes aufzurufen, die normalerweise in C/C++
geschrieben sind. Die Verwendung einer nativen Bibliothek kann die
Anwendung flüssiger laufen lassen oder einer Anwendung helfen,
Bibliotheken von Drittanbietern zu verwenden, die in anderen Sprachen
als Java geschrieben wurden, wie bei den meisten Spiele. Sie können
diese Verzeichnisse auch mit Ihrem bevorzugten Dateimanager öffnen
(vorausgesetzt, er unterstützt dies und hat die erforderlichen
Berechtigungen), indem Sie auf das Startsymbol auf der rechten Seite
jedes Elements klicken. Datenverwendung seit dem letzten Start Eine
ziemlich selbsterklärende Option. Beachten Sie aber, dass aufgrund
einiger Probleme die Ergebnisse oft irreführend und schlichtweg falsch
sein können. Dieser Teil bleibt ausgeblendet, wenn die Berechtigung
Nutzungszugriff bei neueren Geräten nicht gewährt
wird. Speicher & Cache. Zeigt Informationen über
die Größe der App (APK-Dateien), der Daten und des Cache an. Auf älteren
Geräten wird auch die Größe von externen Daten, Cache, Medien und
OBB-Ordnern angezeigt. Dieser Teil bleibt ausgeblendet, wenn der
Nutzungszugriff auf neueren Geräten nicht gewährt
wird. Weitere Informationen Zeigt weitere
Informationen an, wie z. B.. SDK. Zeigt Informationen im Zusammenhang mit dem
Android SDK an. Es gibt zwei (bei alten Geräten einen) Werte:
Max bezeichnet das Ziel-SDK und Min bezeichnet das
Mindest-SDK (letzteres ist in alten Geräten nicht verfügbar). Es ist
empfehlenswert, Anwendungen mit dem maximalen SDK zu verwenden, das die
Plattform derzeit unterstützt. SDK ist auch als textbfAPI
Level bekannt. See also: Android
Versionsgeschichte Anwendungsflags. Die Anwendungsflags, die zum
Zeitpunkt der Erstellung der Anwendung verwendet werden. Für eine
vollständige Liste der Flags und deren Funktion finden Sie auf der Seite
die offizielle
Dokumentation. Installationsdatum. Das Datum, an dem die
Anwendung zum ersten Mal installiert wurde. Aktualisierungsdatum. Das Datum, an dem die App
zuletzt aktualisiert wurde. Dies ist dasselbe wie
Installationsdatum wenn die App noch nicht aktualisiert
wurde. Installer-App. Die App, die diese App
installiert hat. Nicht alle Apps liefern die Informationen, die der
Paketmanager verwendet, um die Installer-App zu registrieren. Daher
sollte dieser Wert nicht als selbstverständlich angesehen
werden. Benutzer-ID. Die eindeutige Benutzer-ID, die der
App vom Android-System zugewiesen wurde. Bei gemeinsam genutzten
Anwendungen wird dieselbe Benutzer-ID mehreren Anwendungen zugewiesen,
die die gleiche Gemeinsame Benutzer-ID haben. Gemeinsame Benutzer-ID. Gilt für Anwendungen,
die gemeinsam genutzt werden. Obwohl hier ID steht, ist dies eigentlich
ein String-Wert. Die gemeinsam genutzte Anwendung muss die gleiche Signatur haben. Hauptaktivität Der Haupteinstiegspunkt in die
Anwendung. Dies ist nur sichtbar, wenn die App über Aktivitäten verfügt und eine dieser
Aktivitäten vom Launcher aus geöffnet werden kann. Außerdem gibt es eine
Start-Schaltfläche auf der rechten Seite, die verwendet werden kann, um
diese Aktivität zu starten. Das horizontale Aktionsfeld, wie im vorherigen Abschnitt beschrieben,
besteht aus verschiedenen app-bezogenen Aktionen, wie z. B.. Launch. Anwendungen, die einen Launcher Aktivitäten haben, können diese
Schaltfläche verwenden. Deaktivieren. Deaktivieren Sie eine Anwendung.
Diese Schaltfläche wird nicht für bereits deaktivierte Anwendungen oder
für Benutzer angezeigt, die nicht über root oder ADB verfügen. Wenn Sie eine App
deaktivieren, wird die App nicht in Ihrer Launcher-App angezeigt.
Verknüpfungen für die App werden ebenfalls entfernt. Wenn Sie eine
Benutzer-App deaktivieren, können Sie sie nur über den App Manager oder
ein anderes Tool, das dies unterstützt, aktivieren. In den
Android-Einstellungen gibt es keine Option zum Aktivieren einer
deaktivierten Benutzer app. Deinstallieren Deinstallieren Sie eine
App. Aktivieren. Aktivieren Sie eine App. Diese
Schaltfläche wird nicht für bereits aktivierte Anwendungen oder für
Benutzer angezeigt, die nicht root oder ADBhaben. Force Stop. Erzwingt das Anhalten einer
Anwendung. Wenn Sie das Anhalten einer App erzwingen, kann die App nicht
mehr im Hintergrund ausgeführt werden, es sei denn, Sie öffnen sie
vorher explizit. Dies ist jedoch nicht immer der Fall. Daten löschen. Löscht Daten aus einer App. Dazu
gehören alle Informationen, die in den internen und oft auch externen
Verzeichnissen gespeichert sind, einschließlich Konten (falls von der
App festgelegt), Cache usw. Das Löschen von Daten aus dem App Manager,
zum Beispiel werden z. B. alle in der App gespeicherten Regeln entfernt
(die Sperrung wird jedoch nicht entfernt). Aus diesem Grund sollten Sie
immer eine Sicherungskopie Ihrer Regeln erstellen. Diese Schaltfläche
wird Benutzern, die nicht über Root oder ADBverfügen, nicht
angezeigt. Cache leeren. Löscht nur den App-Cache. Es gibt
keine Android-Möglichkeit, den App-Cache zu löschen. Daher braucht es
Root-Berechtigung, um den Cache aus dem internen Speicher der App zu
löschen. Installieren. Installieren Sie eine APK, die mit
einer beliebigen Drittanbieter-App geöffnet wurde. Diese Schaltfläche
wird nur angezeigt für eine externen APK angezeigt, die noch nicht
installiert wurde. Was gibt’s Neues. Diese Schaltfläche wird für
eine APK angezeigt, die einen höheren Versionscode hat als die
installierte. Wenn Sie auf diese Schaltfläche klicken, wird ein Dialog
angezeigt, der die Unterschiede in einer Art Versionskontrolle
darstellt. Die angezeigten Informationen umfassen Version,
Tracker, Zulassungen, Komponenten,
Signaturen (Prüfsummenänderungen), Ausstattung,
gemeinsame Bibliotheken und SDK. Update. Wird für eine Anwendung angezeigt, die
einen höheren Versionscode hat als die installierte Anwendung. Neuinstallation. Wird für eine Anwendung
angezeigt, die denselben Versionscode hat wie die installierte
Anwendung. Downgrade. Wird für eine Anwendung angezeigt,
die einen niedrigeren Versionscode als die installierte Anwendung
hat. Manifest. Wenn Sie auf diese Schaltfläche
klicken, wird die Manifest-Datei der App auf einer separaten Seite
angezeigt. Die Manifest- Datei kann mit der entsprechenden Schaltfläche
(oben rechts) ein- oder ausgepackt werden oder mit der Schaltfläche
"Speichern" im gemeinsamen Speicherplatz gespeichert werden, indem Sie
die Schaltfläche "Speichern" verwenden. Scanner. Wenn Sie auf diese Schaltfläche
klicken, werden die Tracker- und Bibliotheksinformationen der App
angezeigt. Zunächst die App gescannt, um eine Liste von Klassen zu
extrahieren. Dann wird die Klassenliste mit einer Reihe von Signaturen
abgeglichen. Danach wird eine Scan-Zusammenfassung angezeigt. See also: Scannerseite Gemeinsame Voreinstellungen Wenn Sie auf diese
Schaltfläche klicken, wird eine Liste der von der Anwendung verwendeten
gemeinsamen Einstellungen angezeigt. Ein Klick auf ein
Einstellungselement in der Liste öffnet die Seite Editor für gemeinsamen
Einstellungen. Diese Option ist nur für die Root-Benutzer
sichtbar. Datenbanken. Wenn Sie auf diese Schaltfläche
klicken, wird eine Liste der von der Anwendung verwendeten Datenbanken
angezeigt. Hier sind weitere Verbesserungen notwendig, u.a ein
Datenbank-Editor, der in Zukunft hinzugefügt werden könnte. Diese Option
ist nur für die Root-Benutzer sichtbar. F-Droid. Öffnet die App in Ihrem bevorzugten
F-Droid-Client. Store. Öffnet die App im Aurora Store.
Die Option ist nur sichtbar, wenn Aurora Store installiert
ist. Standardmäßig lässt Termux die Ausführung von Befehlen aus
Drittanbieter-Anwendungen nicht zu. Um diese Option zu aktivieren,
müssen Sie Folgendes hinzufügen Info. Die Aktivierung dieser Option schwächt nicht die Sicherheit Ihres
Termux. Die Anwendungen von Drittanbietern müssen den Benutzer immer
noch dazu auffordern die Ausführung beliebiger Befehle in Termux
erlauben, wie jede andere gefährliche Berechtigung. Aktivitäten, Dienste,
Empfänger (ursprünglich Broadcast-Empfänger)
und Provider (ursprünglich Content Providers)
werden zusammen als Anwendungskomponenten bezeichnet. Dies deshalb, weil
sie in vielerlei Hinsicht ähnliche Merkmale aufweisen. Zum Beispiel
haben sie alle einen Namen und ein Label.
Anwendungskomponenten sind die Bausteine einer jeden Anwendung, und die
meisten von ihnen müssen im Anwendungs manifestiert werden. Das
Anwendungsmanifest ist eine Datei, in der anwendungsspezifische
Metadaten gespeichert werden. Das Android-Betriebssystem lernt durch das
Lesen der Metadaten, was es mit einer Anwendung tun soll. Die in diesen
Registerkarten verwendeten Farben werden in
§crefsubsec:app-details-colour-codes. Sie haben auch die
Möglichkeit, die Liste der Komponenten so zu sortieren, dass blockierte
oder Tracker-Komponenten am Anfang der Liste anzuzeigen, indem Sie die
Option Sortieren im Überlaufmenü verwenden. Aktivitäten sind Fenster oder Seiten, die Sie
durchsuchen können (z. B. Hauptseite und App-Detail-
Seite sind zwei separate Aktivitäten). Mit anderen Worten, eine
Aktivität ist eine Komponente der Benutzeroberfläche (UI). Jede
Aktivität kann mehrere UI-Komponenten haben, die als Widgets
oder Fragmente bekannt sind, und ebenso kann jede der
letztgenannten Komponenten können mehrere von ihnen verschachtelt oder
übereinander angeordnet sein. Eine Aktivität ist jedoch die Komponente
Master: Es kann nicht zwei verschachtelte Aktivitäten geben.
Ein Anwendungsautor kann sich auch dafür entscheiden, externe Dateien
innerhalb einer Aktivität zu öffnen und dabei eine Methode namens
Intent Filter verwenden. Wenn Sie versuchen, eine Datei mit
Ihrem Dateimanager zu öffnen, sucht entweder Ihr Dateimanager oder das
System nach Absichtsfiltern, um zu entscheiden, welche Aktivitäten diese
bestimmte Datei öffnen können, und bietet Ihnen an die Datei mit diesen
Aktivitäten zu öffnen (es hat also nichts mit der Anwendung selbst zu
tun). Es gibt auch andere Intent- Filter. Aktivitäten, die exportable sind, können in der Regel von
jeder Drittanbieter-Anwendung geöffnet werden (einige Aktivitäten
erfordern Wenn dies der Fall ist, kann nur eine Anwendung, die über
diese Berechtigungen verfügt, sie öffnen). Auf der Registerkarte
Aktivitäten, ist der Name der Aktivität (oben in jedem
Listenelement) eigentlich eine Schaltfläche. Sie ist aktiviert für die
exportable Aktivitäten aktiviert und für andere deaktiviert
(Root-Benutzer können alle Aktivitäten öffnen). Sie können auf die
Schaltfläche klicken, um die Aktivität direkt im App Manager zu öffnen.
Sie können die Interceptor-Seite auch öffnen, indem Sie lange auf eine
Aktivität klicken. Derzeit funktioniert dies nur für
exportierbare Aktivitäten. Hinweis. Wenn Sie eine Aktivität nicht öffnen können, besteht die Möglichkeit,
dass sie bestimmte Abhängigkeiten nicht erfüllt, z. B. können Sie
App-Details-Aktivität nicht öffnen, weil dafür mindestens ein
Paketname angegeben werden muss. Diese Abhängigkeiten können nicht immer
programmatisch abgeleitet werden. Daher können Sie sie nicht mit dem App
Manager öffnen. Sie können auch eine Verknüpfung für diese ausführbare
Aktivitäten erstellen (über die entsprechende Schaltfläche), und wenn
Sie möchten, können Sie die Verknüpfung auch bearbeiten, indem Sie die
Schaltfläche Verknüpfung bearbeiten verwenden. Vorsicht. Wenn Sie App Manager deinstallieren, gehen alle von App Manager
erstellten Verknüpfungen verloren. Im Gegensatz zu Aktivitäten, die
für die Benutzer sichtbar sind, werden mit Diensten
Hintergrundaufgaben erledigt. Wenn Sie z. B. ein Video aus dem Internet
herunterladen und dabei den Internetbrowser Ihres Telefons verwenden,
verwendet der Internetbrowser einen Dienst im Vordergrund verwendet, um
den Inhalt herunterzuladen. Wenn Sie eine Aktivität beenden, wird sie in der Regel sofort
gelöscht (dies hängt von vielen Faktoren ab, z. B. davon, wie viel
freier Speicher Ihres Telefons hat). Dienste können jedoch auf Wunsch
für unbestimmte Zeit laufen. Wenn mehr Dienste im Hintergrund ausgeführt
werden Hintergrund laufen, wird Ihr Handy langsamer, weil der Speicher
und/oder die Verarbeitungsleistung knapp wird, und der Akku des Handys
kann schneller entladen werden. Bei neueren Android-Versionen ist die
Funktion zur Akkuoptimierung standardmäßig für alle Apps aktiviert. Wenn
diese Funktion aktiviert ist, kann das System willkürlich jeden Dienst
beenden. Übrigens werden sowohl Aktivitäten als auch Dienste im gleichen looper
Hauptlooper genannt, was bedeutet, dass die Dienste nicht wirklich im
Hintergrund ausgeführt werden. Es ist die Aufgabe der Anwendungsautoren
dies sicherzustellen. Wie kommunizieren die Anwendungen mit den
Diensten? Sie verwenden den Broadcast-Empfänger. Empfänger (auch Broadcast Empfänger
genannt) können für die Ausführung bestimmter Aufgaben für bestimmten
Ereignissen verwendet werden. Diese Komponenten werden als
Broadcast-Empfänger bezeichnet, da sie ausgeführt werden, sobald eine
Broadcast-Nachricht empfangen wird. Diese Broadcast-Nachrichten werden
mit einer Methode namens Intent gesendet. Intent ist eine spezielle
Funktion für Android die verwendet werden kann, um Anwendungen,
Aktivitäten und Dienste zu öffnen und Broadcast-Nachrichten zu senden.
Daher verwenden, wie bei den Aktivitäten, Broadcast-Empfänger
Intent-Filter, um nur die gewünschten Broadcast-Nachricht(en) zu
empfangen. Broadcast-Nachrichten können entweder vom System oder von der
App selbst gesendet werden. Wenn eine Broadcast-Nachricht gesendet wird,
werden die entsprechenden Empfänger vom System geweckt, damit sie
Aufgaben ausführen können. Zum Beispiel, wenn Sie wenig Speicherplatz
haben, kann es sein, dass Ihr Telefon nach dem Aktivieren der mobilen
Daten oder dem Herstellen einer Wifi-Verbindung für einen Moment
einfriert oder verzögert wird. Haben Sie sich schon einmal gefragt,
warum? Das liegt daran, dass Broadcast-Empfänger, die
‘android.net.conn.CONNECTIVITY_CHANGE‘ empfangen können vom System
geweckt werden, sobald Sie die Datenverbindung aktivieren. Da viele Apps
diesen Absichtsfilter verwenden, werden alle diese Apps fast sofort vom
System geweckt, was das Einfrieren oder die Verzögerungen verursacht.
Abgesehen davon können Empfänger verwendet werden für die
Interprozesskommunikation (IPC) verwendet werden, d. h. sie helfen Ihnen
bei der Kommunikation zwischen verschiedenen Anwendungen (vorausgesetzt,
Sie haben die erforderlichen Berechtigungen) oder sogar zwischen
verschiedenen Komponenten einer einzigen Anwendung. Provider (auch Content Provider genannt)
werden für die Datenverwaltung verwendet. Wenn Sie zum Beispiel eine
apk-Datei speichern oder Regeln in App Manager exportieren, wird ein
Inhaltsanbieter namens ‘androidx.core.content.FileProvider‘ verwendet.
Es gibt weitere oder sogar eigene Content Provider, um verschiedene
inhaltsbezogene Aufgaben zu verwalten, wie z.B. Datenbankmanagement,
Tracking, Suche, etc. Jeder Content-Provider hat ein Feld namens
Authority das für diese bestimmte App im gesamten
Android-Ökosystem ebenso eindeutig ist wie der Paketname. Anders als Benutzer ohne Root-Rechte, die hier zumeist nur Zuschauer
sind, können Benutzer mit Root-Rechten hier verschiedene Dinge tun. Auf der rechten Seite jeder Komponente befindet sich ein Symbol für
“Blockieren” (das zu einem Symbol für “Entblocken/Wiederherstellen”
wird, wenn die Komponente blockiert ist). Dieses Symbol (eigentlich eine
Schaltfläche) kann verwendet werden, um den Blockierstatus der
bestimmten Komponente zu ändern. Wenn Sie Instant Komponenten
blockieren nicht aktiviert haben oder die Blockierung noch nicht für
die Anwendung angewendet haben, müssen Sie die Änderungen mit der Option
Regeln anwenden Option im Drei-Punkte-Menü anwenden.
Sie können auch bereits angewendete Regeln entfernen, indem Sie die
gleiche Option verwenden (die wie folgt lauten würde Regeln
entfernen). See also: FAQ:
App-Komponenten Sie können Tracker-Komponenten deaktivieren, indem Sie die Option
textbfTracker blockieren im Menü mit den drei Punkten
verwenden. Alle Tracker Komponenten werden blockiert, unabhängig davon,
auf welcher Registerkarte Sie sich gerade befinden. Info. Tracker-Komponenten sind eine Untermenge der App-Komponenten. Daher
werden sie mit der gleichen Methode blockiert, die für das Blockierung
aller anderen Komponenten verwendet. Registerkarten App Ops, Verwendete
Berechtigungen und Berechtigungen beziehen
sich auf Berechtigungen. In Android erfordert die Kommunikation zwischen
Apps oder Prozessen, die nicht dieselbe Identität haben (bekannt als
Shared ID), oft Berechtigung(en). Diese Berechtigungen werden
von der Berechtigungssteuerung verwaltet. Einige Berechtigungen werden
als normale Berechtigungen, die automatisch gewährt werden,
wenn sie im Anwendungsmanifest erscheinen, aber gefährlich und
Entwicklung Berechtigungen erfordern eine Bestätigung durch den
Benutzer. Die in diesen Registerkarten verwendeten Farben werden in §2.2.1
erläutert. App Ops steht für Application
Operations. Seit Android 4.3 wird App Ops vom
Android-System zur Steuerung der meisten Anwendungsberechtigungen
verwendet. Jeder App-Operation ist eine eindeutige Nummer zugeordnet,
die auf der Registerkarte App-Operationen in der ersten Klammer steht.
Sie haben auch einen privaten und optional einen öffentlichen Namen.
Einige App Ops sind auch mit TextitZulassungen verbunden.
Die Gefährlichkeit einer App-Operation wird auf der Grundlage der
zugehörigen Berechtigung und anderer Informationen wie flags,
Erlaubnisname, Erlaubnisbeschreibung,
Paketname, Gruppe werden aus der zugehörigen Erlaubnis übernommen. Andere
Informationen können die folgenden sein: Mode. Er beschreibt den aktuellen
Berechtigungsstatus, der allow, deny (eine eher
falsche Bezeichnung, es bedeutet einfach Fehler), ignore
(bedeutet eigentlich verweigern), default (abgeleitet aus einer
Liste von Standardeinstellungen, die intern vom Hersteller festgelegt
wurden), foreground (bei neueren Androiden bedeutet es, dass
die App op nur verwendet werden kann, wenn die App im Vordergrund
läuft), und einige benutzerdefinierte Modi, die von den Anbietern
festgelegt werden (MIUI verwendet ask, zum Beispiel). Duration. Die Zeitspanne, in der diese App-Op
verwendet wurde (es kann negative Dauern geben, deren Anwendungsfälle
mir derzeit nicht bekannt sind). Accept Time. Das letzte Mal, dass die App Op
akzeptiert wurde. Reject Time. Letztes Mal, als die App-Operation
abgelehnt wurde. Info. Der Inhalt dieser Registerkarte ist für No-Root-Benutzer sichtbar,
wenn Neben jeder App-Operation befindet sich eine Schaltfläche, mit der
die App-Operation zugelassen oder verweigert (ignoriert) werden kann.
Wenn Sie andere für Ihr Gerät verfügbare Modi einstellen möchten,
klicken Sie einfach lange auf ein Element. Wenn Sie zusätzliche App-Ops
einstellen müssen, die nicht auf der Registerkarte aufgeführt sind,
verwenden Sie die Option Set custom app op im Menü. Sie können
Ihre Änderungen auch mit der Option Zurücksetzen auf Standard
zurücksetzen oder alle gefährlichen App-OPs mit der entsprechenden
Option im Menü. Sie können sie auch in aufsteigender Reihenfolge nach
App-Op-Namen und den zugehörigen eindeutigen Nummern (oder Werten)
sortieren. Sie können auch die verweigerten App-Ops zuerst auflisten,
indem Sie die entsprechende Sortieroption verwenden. Warnung. Die Verweigerung einer App-Op kann zu Fehlverhalten der App führen.
Verwenden Sie die Option reset to default, wenn dies der Fall
ist. Aufgrund der Art, wie App-Ops funktionieren, kann es einige Zeit
dauern, bis das System sie anwendet. See also: Anhang: App
Ops Benutzt Berechtigungen sind die von der Anwendung
verwendeten Berechtigungen. Diese werden so genannt, weil sie im
Manifest unter Verwendung von Root- und ADB-Benutzer können die Berechtigungen
gefährlich und Entwicklung gewähren oder entziehen,
indem sie die Umschalttaste auf der rechten Seite jedes
Berechtigungselements. Sie können auch alle gefährlichen Berechtigungen
auf einmal entziehen indem sie die entsprechende Option im Menü
verwenden. Nur diese beiden Arten von Berechtigungen können entzogen
werden, da Android es nicht erlaubt, normal-Berechtigungen zu
ändern (was die meisten von ihnen sind). Die einzige Alternative ist,
das App-Manifest zu bearbeiten zu bearbeiten und diese Berechtigungen
von dort zu entfernen. Info. Da gefährliche Berechtigungen standardmäßig vom System entzogen
werden, ist der Entzug aller gefährlichen Berechtigungen dasselbe wie
das Zurücksetzen aller Berechtigungen. Hinweis. Berechtigungen können für Anwendungen, die auf API 23 oder früher
abzielen, nicht geändert werden. Daher sind die
Berechtigungsumschaltungen für solche Anwendungen deaktiviert. Benutzer können die Berechtigungen nach Berechtigungsnamen (in
aufsteigender Reihenfolge) sortieren oder wählen, ob verweigerte oder
gefährliche Berechtigungen zuerst anzeigen lassen, indem sie die
entsprechenden Optionen im Menü verwenden. Berechtigungen sind normalerweise benutzerdefinierte
Berechtigungen, die von der Anwendung selbst festgelegt werden. Es kann
auch reguläre Berechtigungen enthalten, meist in alten Anwendungen. Hier
ist eine vollständige Beschreibung der einzelnen Elemente, die dort
angezeigt werden: Name. Jede Berechtigung hat einen eindeutigen
Namen wie Icon. Jede Berechtigung kann ein eigenes Symbol
haben. Die anderen Berechtigungsregisterkarten haben kein Symbol, weil
sie kein Symbol im App-Manifest enthalten. Description. Dieses optionale Feld beschreibt
die Berechtigung. Wenn der Berechtigung keine Beschreibung zugeordnet
ist, wird das Feld nicht angezeigt. Flags. (Verwendet das Flaggensymbol oder den
Namen Schutzstufe) Hier werden verschiedene
Berechtigungsflags beschrieben wie normal,
Entwicklung, gefährlich, instant,
gewährt, widerrufen, Signatur,
privilegiert, usw. Paketname. Bezeichnet den mit der Berechtigung
verbundenen Paketnamen, d. h. das Paket, das die Berechtigung
definiert. Gruppe. Der Gruppenname, der mit der Berechtigung
verbunden ist (falls vorhanden). Neuere Androiden verwenden anscheinend
keine Gruppennamen, weshalb Sie normalerweise
Signaturen werden eigentlich Signierinformationen
genannt. Eine Anwendung wird von den Anwendungsentwicklern mit einem
oder mehreren Signierzertifikaten signiert, bevor sie veröffentlicht
wird. Die Integrität einer Anwendung (d.h. ob die Anwendung von dem
tatsächlichen Entwickler stammt und nicht von anderen Personen verändert
wurde) kann anhand der Signierinformationen überprüft werden; denn wenn
eine App von einem unbefugten Dritten verändert wird, kann die App nicht
mehr mit dem/den ursprünglichen Zertifikat(en) signiert werden, da die
Signierinformationen vom eigentlichen Entwickler geheim gehalten werden.
überprüfen Sie diese Signaturen? Mit Prüfsummen. Die Prüfsummen werden
aus den Zertifikaten selbst generiert. Wenn der Entwickler die
Prüfsummen zur Verfügung stellt, können Sie die Prüfsummen abgleichen,
die auf der Registerkarte Signaturen generiert wurden.
Wenn Sie zum Beispiel App Manager von Github, dem Telegram Channel oder
dem Repo von IzzyOnDroid heruntergeladen haben, können Sie überprüfen,
ob die App tatsächlich von mir freigegeben wurde, indem Sie einfach die
folgende SHA256-Prüfsumme mit der in dieser Registerkarte
angezeigten vergleichen: Dort werden drei Arten von Prüfsummen angezeigt: MD5,
SHA1 und SHA256. Vorsicht. Es wird empfohlen, die Signierinformationen nur mit
SHA256-Prüfsummen oder mit allen drei Prüfsummen zu überprüfen.
VERLASSEN SIE SICH NICHT nur auf MD5 oder SHA1
Prüfsummen, da diese bekanntermaßen die gleichen Ergebnisse für mehrere
Zertifikate erzeugen. Andere Registerkarten listen die Komponenten des Android-Manifests
auf, z. B. Funktionen, Konfigurationen, gemeinsam genutzte Bibliotheken
und Signaturen. Eine vollständige Beschreibung dieser Registerkarten
wird in Kürze verfügbar sein.2.2.1
Farbcodes
2.2.2
Registerkarte App-Info
2.2.2.1 Allgemeine Informationen
123
und 125
zwei Versionen einer
App sind, kann man sagen, dass die letztere aktueller ist als die erste,
weil der Versionscode der letztere höher ist. Bei Anwendungen, die von
plattformabhängigen (Mobilgeräte, Tablets, Desktops usw.), können diese
Versions- nummern irreführend sein, da sie Präfixe für jeweilige
Plattform verwenden.ausführbar
sein können, was potenzielle
Sicherheitsprobleme verursachen kann wenn diese Anwendungen private
Informationen speichern. großer Speicherplatz bedeutet, dass
der App bei Bedarf eine größere Menge an Speicher (RAM) zugewiesen wird.
Auch wenn dies in den meisten Fällen nicht schädlich ist, sollten
verdächtige Anwendungen, die einen großen Speicherplatz anfordern, ernst
genommen werden.2.2.2.2 Waagerechte Aktionsfläche
2.2.2.4 Termux
allow-external-apps=true
in
~/.termux/termux.properties
hinzufügen, und sicherstellen,
dass Sie Termux v0.96 oder höher verwenden.2.2.3
Registerkarten der
Komponenten
2.2.3.1 Aktivitäten
2.2.3.2 Dienste
2.2.3.3 Empfänger
2.2.3.4 Anbieter
2.2.3.5 Zusätzliche Funktionen für
gerootete Handys
2.2.3.5.1 Komponenten blockieren
2.2.3.5.2 Tracker blockieren
2.2.4
Registerkarten
Berechtigungen
2.2.4.1 Anwendungsoperationen
android.permission.GET_APP_OPS_STATS
über ADBgewährt
wird.2.2.4.2 Verwendete Berechtigungen
benutzt-Berechtigung
-Tags
deklariert werden. Informationen wie flags, permission
name, Berechtigungsbeschreibung, Paketname,
Gruppe werden aus dem zugehörigen Berechtigung entnommen.2.2.4.3 Berechtigungen
android.permission.INTERNET
, aber mehrere
Anwendungen können die Berechtigung anfordern.android.permission-group.UNDEFINED
oder gar keinen
Gruppennamen sehen.2.2.5
Registerkarte Signaturen
320c0c0fe8cef873f2b554cb88c837f1512589dcced50c5b25c43c04596760ab
2.2.6
Sonstige Registerkarten
Diese Seite wird angezeigt, nachdem Sie auf die Option 1-Click Ops im Hauptmenü. Mit dieser Option können Sie die Werbe-/Tracker-Komponenten von den
installierten Apps blockieren oder freigeben. Nachdem Sie auf diese
Option geklickt haben, werden Sie gefragt, ob AM Tracker von allen Apps
oder nur von den Benutzer-Apps auflisten soll. Neulinge sollten es
vermeiden, Tracker aus den System-Apps zu blockieren, um Konsequenzen zu
vermeiden. Danach wird ein Dialogfeld mit mehreren Auswahlmöglichkeiten
angezeigt, in dem Sie die Apps, die Sie von diesem Vorgang ausschließen
möchten, abwählen können. Wenn Sie auf Blocken oder
Freigeben klicken, werden die Änderungen sofort übernommen. Hinweis. Bestimmte Anwendungen funktionieren nach der Anwendung der Sperrung
möglicherweise nicht mehr wie erwartet. Wenn dies der Fall ist,
entfernen Sie die Sperrregeln auf einmal oder nacheinander in den
Komponenten-Registern der entsprechenden App-Detailseite. Diese Option kann verwendet werden, um bestimmte App-Komponenten zu
blockieren, die durch die Signaturen gekennzeichnet sind. Die
App-Signatur ist der vollständige Name oder Teilname der Komponenten.
Aus Sicherheitsgründen wird empfohlen, am Ende jedes Teilsignaturnamens
ein Vorsicht. Wenn Sie sich der Folgen des Blockierens von Anwendungskomponenten
nach Signatur(en) nicht bewusst sind, sollten Sie diese Einstellung
vermeiden, da sie zu einer Bootschleife oder einem Softbrick führen kann
und Sie möglicherweise einen Werksreset durchführen müssen, um Ihr
OSnutzen zu können. Diese Option kann verwendet werden, um bestimmte App-Operationen aller oder ausgewählter Apps zu
konfigurieren. Sie können mehrere App-Op-Konstanten durch Leerzeichen
getrennt einfügen. Es ist nicht immer möglich, im Voraus alle
App-Op-Konstanten zu kennen, da sie von Gerät zu Gerät und von
Betriebssystem zu Betriebssystem variieren. Um die gewünschte
App-Op-Konstante zu finden, durchsuchen Sie die Registerkarte App
Ops auf der Seite App-Detailseite. Bei den Konstanten
handelt es sich um ganze Zahlen, die in eckigen Klammern neben den
einzelnen App-Op-Namen stehen. Sie können auch die App-Op-Namen
verwenden. Sie müssen auch eine der Modi auswählen, die auf die App-Ops
angewandt werden sollen. Vorsicht. Wenn Sie nicht gut über App Ops und die Folgen ihrer Blockierung
informiert sind, sollten Sie diese Funktion vermeiden, da sie zu einer
Bootschleife oder einem Softbrick führen kann und Sie möglicherweise
einen Werksreset durchführen müssen, um Ihr OSnutzen zu können. 1-Klick-Optionen für Backups. Als Vorsichtsmaßnahme werden die
betroffenen Sicherungen aufgelistet, bevor ein Vorgang durchgeführt
wird. Sichern Sie alle installierten Anwendungen. Sichern Sie alle installierten Anwendungen, für die bereits ein
Backup vorhanden ist. Sichern Sie alle installierten Anwendungen ohne vorheriges
Backup. Überprüfen Sie die kürzlich erstellten Backups der installierten
Anwendungen und wiederholen Sie das Backup, falls erforderlich. Wenn sich eine Anwendung seit dem letzten Backup geändert hat, führen
Sie ein Redo-Backup für diese Anwendung durch. Dabei wird eine Reihe von
Indizes überprüft, darunter die App-Version, das Datum der letzten
Aktualisierung, das Datum des letzten Starts, die Integrität und die
Datei-Hashes. Die Hashes der Verzeichnisse werden während des Backups
erfasst und in einer Datenbank gespeichert. Bei der Ausführung dieses
Vorgangs werden neue Hashes erstellt und mit den in der Datenbank
gespeicherten verglichen. 1-Klick-Optionen für die Wiederherstellung. Als Vorsichtsmaßnahme
werden die betroffenen Sicherungen aufgelistet, bevor eine Operation
durchgeführt wird. Wiederherstellen des Basis-Backups aller gesicherten
Anwendungen. . Wiederherstellen des Basis-Backup aller gesicherten
Anwendungen, die derzeit nicht installiert sind. . Wiederherstellen des Basis-Backup von bereits
installierten Anwendungen, deren Versionscodes höher sind als die der
installierten Versionen.2.3.1
Blockieren/Entsperren von
Trackern
2.3.2
Block
Komponenten Punkte
.
(Punkt) am Ende jedes Teilnamens der Signatur
hinzuzufügen, da der hier verwendete Algorithmus alle übereinstimmenden
Komponenten auf gierige Weise auswählt. Sie können mehr als eine
Signatur einfügen; in diesem Fall müssen alle Signaturen durch
Leerzeichen getrennt werden. Ähnlich wie bei der obigen Option gibt es
auch eine Option zur Anwendung der Sperrung auf Systemanwendungen.2.3.3
Modus für App Ops
einstellen Punkte
2.3.4
Sichern
2.3.4.0.1 Alle Anwendungen
sichern.
2.3.4.0.2 Vorhandene Sicherungen
rückgängig machen.
2.3.4.0.3 Sichern Sie Anwendungen
ohne Backups.
2.3.4.0.4 Backups überprüfen und
wiederherstellen.
2.3.4.0.5 Sichern Sie Anwendungen
mit Änderungen.
2.3.5
Wiederherstellen
2.3.5.0.1 Wiederherstellen aller
Anwendungen
2.3.5.0.2 Wiederherstellen von
nicht installierten Anwendungen
2.3.5.0.3 Wiederherstellen der
letzten Backups
Die Seite Profile kann über das Optionsmenü auf der Hauptseite aufgerufen werden. Sie zeigt eine Liste der konfigurierten Profile an. Profile können über die Schaltfläche Plus in der rechten unteren Ecke hinzugefügt oder über die Importoption importiert werden, aus einer der Voreinstellungen erstellt oder sogar aus einem bereits vorhandenen Profil dupliziert werden. Wenn Sie auf ein beliebiges Profil klicken, öffnet sich das Fenster Profilseite.
Die Seite Profil zeigt die Konfigurationen für ein Profil an. Sie bietet auch die Möglichkeit, sie zu bearbeiten.
Hinweis.
Wenn Sie ein Profil anwenden und einige Pakete den Kriterien nicht entsprechen, werden sie einfach ignoriert.
Auf der Registerkarte Apps werden die unter diesem Profil konfigurierten Pakete aufgelistet. Pakete können hinzugefügt oder entfernt werden, indem Sie die Schaltfläche Plus unten nutzen. Pakete können auch entfernt werden, indem Sie lange auf sie klicken (in diesem Fall wird ein Popup mit der einzigen Option Löschen angezeigt).
Auf der Registerkarte Konfigurationen können Sie die ausgewählten
Pakete konfigurieren. Die Beschreibung der einzelnen Elemente ist unten
angegeben: Dies ist der Text, der auf der Seite Profile angezeigt wird. Wenn er nicht
gesetzt ist, werden stattdessen die aktuellen Konfigurationen
stattdessen angezeigt. Gibt an, wie sich bestimmte konfigurierte Optionen verhalten werden.
Wenn zum Beispiel die Option Deaktivieren aktiviert ist, werden
die Anwendungen deaktiviert, wenn der Status Ein ist, und wird
aktiviert, wenn der Status Aus ist. Derzeit unterstützt der
Status nur Ein und Aus Werte. Wählen Sie die Benutzer aus, auf die das Profil angewendet werden
soll. Standardmäßig sind alle Benutzer ausgewählt. Dies verhält sich genauso wie die Option Block-Komponenten-Punkte auf
der 1-Klick-Ops-Seite. Allerdings gilt dies nur für die ausgewählten
Pakete. Wenn die Option Status
ein ist, werden die Komponenten blockiert, und wenn der Status
aus ist, werden die Komponenten entsperrt. Die Option kann
(unabhängig von den eingegebenen Werten) deaktiviert werden, indem Sie
auf die Schaltfläche Deaktivieren im Eingabedialog klicken. See also: Was
sind die App-Komponenten? This behaves the same way as the Set Mode for App Ops…
option does in the 1-Click Ops page. However, this only applies for the
selected packages. If the state
is on, the app ops will be denied (ie. ignored), and if the
state is off, the app ops will be allowed. The option can be
disabled (regardless of the inserted values) by clicking on the
disabled button on the input dialog. This option can be used to grant or revoke certain permissions from
the selected packages. Like others above, permissions must be separated
by spaces. If the state is
on, the permissions will be revoked, and if the state is
off, the permissions will be allowed. The option can be
disabled (regardless of the inserted values) by clicking on the
disabled button on the input dialog. This option can be used to take a backup of the selected apps and its
data or restore them. There two options available there: Backup
options and backup name. Backup options. Same as the backup options of the
backup/restore feature. If not set, the default options will be
used. Backup name. Set a custom name for the backup.
If the backup name is set, each time a backup is made, it will be given
a unique name with backup-name as the suffix. This behaviour will be
fixed in a future release. Leave this field empty for regular or “base”
backup (also, make sure not to enable backup multiple in the
backup options). If the state is on,
the packages will be backed up, and if the state is off, the
packages will be restored. The option can be disabled by clicking on the
disabled button on the input dialog. This option allows you to export blocking rules. Danger. This option is not yet implemented. Enables/disables the selected packages depending on the state. If the state is on,
the packages will be disabled, and if the state is off, the
packages will be enabled. Allows the selected packages to be force-stopped. Enables clearing cache for the selected packages. Enables clearing data for the selected packages. Enables blocking/unblocking of the tracker components from the
selected packages depending on the state. If the state is on,
the trackers will be blocked, and if the state is off, the
trackers will be unblocked. Enables saving APK files at 2.5.3.1 Anmerkung
2.5.3.2 Zustand
2.5.3.3 Nutzer
2.5.3.4 Komponenten
2.5.3.5 Anwendungsoperationen
2.5.3.6 Berechtigungen
2.5.3.7 Sichern/Wiederherstellen
2.5.3.8 Regeln für die
Exportsperre
2.5.3.9 Deaktivieren
2.5.3.10 Zwangsstopp
2.5.3.11 Zwischenspeicher löschen
2.5.3.12 Daten löschen
2.5.3.13 Tracker blockieren
2.5.3.14 APK speichern
AppManager/apks
for the
selected packages.
Settings can be used to customise the behaviour of the app. Configure in-app language. App Manager currently supports 19
(nineteen) languages. Configure in-app theme. Lock App Manager using Android screen lock provided a screen lock is
configured. You can select one of the four options: Auto. Let AM decide the suitable option for you.
Although this is the default option, it may cause problems in some
devices. Root. Select root mode. By default, AM requests
root permission if root is detected but hasn’t been granted. If this
option is selected, AM will run in root mode even if root is unavailable
or denied. This may cause crashes or freezing issues, therefore,
shouldn’t be enabled if root is unavailable. ADB over TCP. Enable ADB over TCP mode. AM may hang indefinitely
if ADB over TCP is not enabled. No-root. AM runs in no-root mode. AM performs
better if this is enabled but all the root/ADB features will be
disabled. Enable or disable certain features in App Manager, such as Interceptor Manifest viewer Scanner Package installer Usage access: With this option turned off, App Manager will never
ask for the Usage Access permission. Log viewer Select the signature
schemes to use. It is recommended that you use at least v1 and v2
signature schemes. Use the Reset to Default button in case
you’re confused. Configure custom signing key for signing APK files. Keys from an
existing KeyStore can be imported to App Manager, or a new key can be
generated. Notice. App Manager maintains a KeyStore where the keys used within the app
are stored. The password for the keystore will be asked when necessary.
Be sure to store the password in a safe place, otherwise the KeyStore
cannot be recovered when necessary. For root/ADB users, a list of users will be displayed before
installing the app. The app will be installed only for the specified
user (or all users if selected). Whether to sign the APK files before installing the app. Visit APK signing section to configure
signing. Choose APK install location. This can be one of auto,
internal only and prefer external. In newer Android
versions, the last option may not always install the app in the external
storage. Select the installer app, useful for some apps which explicitly
checks for their installer. This only works for root/ADB users. Settings related to back
up/restore. Set which compression method to be used during backups. App Manager
supports GZip and BZip2 compression methods, GZip being the default
compression method. It doesn’t affect the restore of an existing
backup. Customise the back up/restore dialog. Allow backup of apps that has entries in the Android KeyStore
(disabled by default). Some apps (such as Signal) may crash if restored.
KeyStore backup also doesn’t work from Android 9 but still kept as many
apps having KeyStore can be restored without problem. Set an encryption method for the backups. App Manager currently
supports OpenPGP (via OpenKeyChain),
AES and RSA (hybrid encryption with AES). Like APK signing, The AES and RSA keys are
stored in the KeyStore and can be imported from other KeyStores. Lets you select the storage where the backups will be stored. Notice. The backup volume only specifies the storage, not the path. Backups
are stored in By default, blocking rules are not applied unless they are applied
explicitly in the App Details page
for any package. Upon enabling this option, all (old and new) rules are
applied immediately for all apps without explicitly enabling blocking
for an app. Notice. Enabling this setting may have some unintended consequences. For
instance, the rules that are not completely removed will be applied
again. So, proceed with caution. This option should be kept disabled if
not required for some reasons. See also: FAQ: What is
instant component blocking? It is possible to import or export blocking rules within App Manager
for all apps. There is a choice to export or import only certain rules
(components, app ops or permissions) instead of all of them. It is also
possible to import blocking rules from Blocker and Watt. If it is necessary to
export blocking rules for a single app, use the corresponding App Details page to export rules, or
for multiple apps, use batch
operations. See also: Rules
Specification Export blocking rules for all apps configured within App Manager.
This may include app
components, app ops and permissions based on the options selected in
the multi-choice options. Import previously exported blocking rules from App Manager. Similar
to export, this may include app components, app ops
and permissions based on the options selected in the multi-choice
options. Add components disabled by other apps to App Manager. App Manager
only keeps track of component disabled within App Manager. If you use
other tools to block app components, you can use this tools to import
these disabled components. Clicking on this option triggers a search for
disabled components and will list apps with components disabled by user.
For safety, all the apps are unselected by default. You can manually
select the apps in the list and re-apply the blocking through App
Manager. Caution. Be careful when using this tool as there can be many false positives.
Choose only the apps that you are certain about. Import configuration files from Watt, each file containing
rules for a single package and file name being the name of the package
with Tip. Location of configuration files in Watt:
Import blocking rules from Blocker, each file
containing rules for a single package. These files have a
One-click option to remove all rules configured within App Manager.
This will enable all blocked components, app ops will be set to their
default values and permissions will be granted. Import or export the KeyStore used by App Manager. This is a Bouncy
Castle KeyStore with Display Android version, security, CPU, GPU, battery, memory, screen,
languages, user info, etc.2.6.1
Sprache
2.6.2
App-Design
2.6.3
Bildschirm sperren
2.6.4
Betriebsmodus
2.6.5
Aktivieren/Deaktivieren
von Funktionen
2.6.6
APK-Signierung
2.6.6.1 Signaturregelungen
2.6.6.2 Signierschlüssel
2.6.7
Installationsprogramm
2.6.7.1 Benutzer im
Installationsprogramm anzeigen
2.6.7.2 APK signieren
2.6.7.3 Speicherort
2.6.7.4 InstallationsApps
2.6.8
Sichern/Wiederherstellen
2.6.8.1 Compression method
2.6.8.2 Backup Options
2.6.8.3 Backup apps with Android
KeyStore
2.6.8.4 Encryption
2.6.8.5 Backup Volume
AppManager
folder inside the storage path.
This is also where logs and exported APK files are saved.2.6.9
Rules
2.6.9.1 Instant Component
Blocking
2.6.9.2 Import/Export Blocking
Rules
2.6.9.2.1 Export
2.6.9.2.2 Import
2.6.9.2.3 Import Existing Rules
2.6.9.2.4 Import from Watt
.xml
extension./sdcard/Android/data/com.tuyafeng.watt/files/ifw
2.6.9.2.5 Import from Blocker
.json
extension.2.6.9.3 Remove all rules
2.6.10 Import/Export Keystore
bks
extension. Therefore, other
KeyStore such as Java KeyStore (JKS) or PKCS #12 are not supported. If
you need to import a key from these KeyStores, use the relevant options
outlined above.2.6.11 About the device
Scanner page appears after clicking on the scanner button in the App Info tab. External APK files can also be opened for scanning from file managers, web browsers, etc.
It scans for trackers and libraries, and displays the number of trackers and libraries as a summary. It also displays checksums of the APK file as well as the signing certificate(s).
Disclaimer.
AM only scans an app statically without prejudice. The app may provide the options for opting out, or in some cases, certain features of the tracker may not be used at all by the app (e.g. F-Droid), or some apps may simply use them as placeholders to prevent the breaking of certain features (e.g. Fennec F-Droid). The intention of the scanner is to give you an idea about what the APK might contain. It should be taken as an initial step for further investigations.
Clicking on the first item (i.e. number of classes) opens a new page containing a list of tracker classes for the app. All classes can also be viewed by clicking on the Toggle Class Listing menu. A sneak-peek of each class can be viewed by simply clicking on any class item.
Notice.
Due to various limitations, it is not possible to scan all the components of an APK file. This is especially true if an APK is highly obfuscated. The scanner also does not check strings (or website signatures).
The second item lists the number of trackers along with their names. Clicking on the item displays a dialog containing the name of trackers, matched signatures, and the number of classes against each signature. Some tracker names may have 2 prefix which indicates that the trackers are in the ETIP stand-by list i.e. whether they are actual trackers is still being investigated.
The third item lists the number of libraries along with their names. The information are mostly taken from IzzyOnDroid repo.
At the bottom of the page, there is a special item denoting the number of missing signatures (i.e. missing classes). The missing signatures are the ones that AM has failed to match against any known libraries. The number itself has no particular meaning as many libraries contain hundreds of classes, but clicking on the item will bring up a dialog containing the signatures which is helpful in inspecting the missing signatures. This feature is only intended for people who know what a missing signature is and what to do with it, average users should just ignore it.
Interceptor can be used to intercept communication between apps using
Intent
. It works as a man-in-the-middle between the source
and the destination apps. It offers a feature-complete user interface
for editing Intent
s.
Info.
Development of interceptor is still in progress. It can only intercept activities for now.
Warning.
Interceptor only works for implicit intents where the app component isn’t specified.
Intent filters are used by the apps to specify which tasks they are
able to perform or which tasks they are going to perform using other
apps. For example, when you’re opening a PDF file using a file manager,
the file manager will try to find which apps to open the PDF with. To
find the right applications, the file manager will create an Intent with
filters such as MIME type and ask the system to retrieve the matched
applications that is able to open this filter. The system will search
through the Manifest of the installed applications to match the filter
and list the app components that are able to open this filter (in our
case the PDF). At this, either the file manager will open the desired
app component itself or use a system provided option to open it. If
multiple app components are able to open it and no default is set, you
may get a prompt where you have to choose the right app component. Action specifies the generic action to perform such as
Data is originally known as URI (Uniform Resource Identifier) defined
in RFC 2396. It can
be web links, file location, or a special feature called
content. Contents are an Android feature managed by the content providers. Data are often
associated with a MIME type. Examples: MIME type of the data. For example, if
the data field is set to This is similar to action in the
sense that it is also used by the system to filter app components. This
has no further benefits. Unlike action, there can be more than
one category. Clicking on the plus button next to the title
allows adding more categories. Flags are useful in determining how system should behave during the
launch or after the launch of an activity. An average user should avoid
this as it requires some technical background. The plus button
next to the title can be used to add one or more flags. Extras are the key-value pairs used for supplying additional
information to the destination component. You can add extras using the
plus button next to the title. Represents the entire Intent as a URI (e.g. 2.8.1.1 Action
android.intent.action.VIEW
. Applications often declare the
relevant actions in the Manifest file to catch the desired Intents. The
action is particularly useful for broadcast Intent where it plays a
vital rule. In other cases, it works as an initial way to filter out
relevant app components. Generic actions such as
android.intent.action.VIEW
and
android.intent.action.SEND
are widely used by apps. So,
setting this alone may match many app components.2.8.1.2 Data
http://search.disroot.org/?q=URI%20in%20Android%20scheme&categories=general&language=en-US
https://developer.android.com/reference/android/net/Uri
file:///sdcard/AppManager.apk
mailto:email@example.com
content://io.github.muntashirakon.AppManager.provider/23485af89b08d87e898a90c7e/AppManager.apk
2.8.1.3 MIME Type
file:///sdcard/AppManager.apk
, the
associated MIME type can be
application/vnd.android.package-archive
.2.8.1.4 Categories
2.8.1.5 Flags
2.8.1.6 Extras
2.8.1.7 URI
intent://…
).
Some data cannot be converted to string, and as a result, they might not
appear here.
List all the activity components that matches the Intent. This is internally determined by the system (rather than AM). The launch button next to each component can be used to launch them directly from AM.
Reset the Intent to its initial state. This may not always work as expected.
Resend the edited Intent to the destination app. This may open a list of apps where you have to select the desired app. The result received from the target app will be sent to the source app. As a result the source app will not know if there was a man-in-the-middle.
Many root-only features can still be used by enabling ADB over TCP. To do that, a PC or Mac is required with Android platform-tools installed, and an Android phone with developer options & USB debugging enabled.
Root users.
If superuser permission has been granted to App Manager, it can already execute privileged code without any problem. Therefore, root users don’t need to enable ADB over TCP. If you still want to use ADB over TCP, you must revoke superuser permission for App Manager and restart your device. You may see working on ADB mode message without restarting but this isn’t entirely true. The server (used as an interface between system and App Manager) is still running in root mode. This is a known issue and will be fixed in a future version of App Manager.
See also: FAQ: ADB over TCP
Developer options is located in Android Settings, either directly near the bottom of the page (in most ROMs) or under some other settings such as System (Lineage OS, Asus Zenfone 8.0+), System > Advanced (Google Pixel), Additional Settings (Xiaomi MIUI, Oppo ColorOS), More Settings (Vivo FuntouchOS), More (ZTE Nubia). Unlike other options, it is not visible until explicitly enabled by the user. If developer options is enabled, you can use the search box in Android Settings to locate it as well.
This option is available within Android Settings as well but like the location of the developer options, it also differs from device to device. But in general, you have to find Build number (or MIUI version for MIUI ROMs and Software version for Vivo FuntouchOS, Version for Oppo ColorOS) and tap it at least 7 (seven) times until you finally get a message saying You are now a developer (you may be prompted to insert pin/password/pattern or solve captchas at this point). In most devices, it is located at the bottom of the settings page, inside About Phone. But the best way to find it is to use the search box.
After locating the
developer options, enable Developer option (if not
already). After that, scroll down a bit until you will find the option
USB debugging. Use the toggle button on the right hand
side to enable it. At this point, you may get an alert prompt where you
may have to click OK to actually enable it. You may also have
to enable some other options depending on device vendor and ROM. Here
are some examples: Enable USB debugging (security settings) as
well. Enable Allow ADB debugging in charge only mode as
well. When connecting to your PC or Mac, you may get a prompt saying
Allow access to device data? in which case click
YES, ALLOW ACCESS. Notice. Often the USB debugging mode could be disabled
automatically by the system. If that’s the case, repeat the above
procedure. Make sure you have USB tethering enabled. In case USB Debugging is greyed out, you can do the
following: Make sure you enabled USB debugging before connecting your phone
to the PC or Mac via USB cable Enable USB tethering after connecting to PC or Mac via USB
cable (For Samsung) If your device is running KNOX, you may have to
follow some additional steps. See official documentations or consult
support for further assistant3.1.2.1 Xiaomi (MIUI)
3.1.2.2 Huawei (EMUI)
3.1.2.3 LG
3.1.2.4 Troubleshooting
In order to enable ADB over TCP, you have to set up ADB in your PC or
Mac. Lineage OS users can skip to §3.1.4.1. Download the latest version of Android
SDK Platform-Tools for Windows Extract the contents of the zip file into any directory (such as
Open Command Prompt or
PowerShell from this directory. You can do it manually
from the start menu or by holding Download the latest version of Android
SDK Platform-Tools for macOS Extract the contents of the zip file into a directory by clicking
on it. After that, navigate to that directory using Finder and
locate Open Terminal using Launchpad or
Spotlight and drag-and-drop Tip. If you are not afraid to use command line, here’s a one liner: After that, you can simply type Open your favourite terminal emulator. In most GUI-distros, you
can open it by holding Run the following command: If it is successful, you can simply type 3.1.3.1 Windows
C:\adb
) and navigate to that directory using
ExplorerShift
and Right clicking
within the directory in File Explorer and then clicking either
on Open command window here or on Open PowerShell window
here (depending on what you have installed). You can now access ADB
by typing adb
(Command Prompt) or ./adb
(PowerShell). Do not close this window yet3.1.3.2 macOS
adb
adb
from the
Finder window into the Terminal window. Do not close
the Terminal window yetcd ~/Downloads && curl -o platform-tools.zip -L \
&& \
https://dl.google.com/android/repository/platform-tools-latest-darwin.zip unzip platform-tools.zip && rm platform-tools.zip && cd platform-tools
./adb
in the in same
Terminal window to access ADB.3.1.3.3 Linux
Control
, Alter
and
T
at the same timecd ~/Downloads && curl -o platform-tools.zip -L \
&& \
https://dl.google.com/android/repository/platform-tools-latest-linux.zip unzip platform-tools.zip && rm platform-tools.zip && cd platform-tools
./adb
in
the in same terminal emulator window or type
~/Downloads/platform-tools/adb
in any terminal emulator to
access ADB.
Lineage OS (or its derivatives) users can directly enable ADB over TCP using the developer options. To enable that, go to the Developer options, scroll down until you find ADB over Network. Now, use the toggle button on the right-hand side to enable it and skip to §3.1.4.3.
For other ROMs, you can do this using the command
prompt/PowerShell/terminal emulator that you’ve opened in the step 3 of
the previous section. In this section, I will use adb
to
denote ./adb
, adb
or any other command that
you needed to use based on your platform and software in the previous
section.
Connect your device to your PC or Mac using a USB cable. For some devices, it is necessary to turn on File transfer mode (MTP) as well
To confirm that everything is working as expected, type
adb devices
in your terminal. If your device is connected
successfully, you will see something like this:
List of devices attached
xxxxxxxx device
Notice.
In some Android phones, an alert prompt will be appeared with a message Allow USB Debugging in which case, check Always allow from this computer and click Allow.
Finally, run the following command to enable ADB over TCP:
adb tcpip 5555
Danger.
You cannot disable developer options or USB debugging after enabling ADB over TCP.
After enabling ADB over TCP (in the previous subsections), open App Manager (AM). You should see working on ADB mode toast message at the bottom. If not, remove AM from the recents and open AM again from the launcher.
Notice.
In some Android phones, the USB cable is needed to be disconnected from the PC in order for it to work.
Warning.
ADB over TCP will be disabled after a restart. In that case, you have to follow §3.1.4.2 again.
Lineage OS users.
You can turn off ADB over Network in developer options, but turning off this option will also stop App Manager’s remote server. So, turn it off only when you’re not going to use App Manager in ADB over TCP mode.
App Manager verfügt über ein modernes, fortschrittliches und einfach zu bedienendes Sicherungs-/Wiederherstellungssystem, das von Grund auf neu implementiert wurde. Dies ist wahrscheinlich die einzige App, die nicht nur die App oder ihre Daten wiederherstellen kann, sondern auch die Berechtigungen und Regeln, die Sie im App Manager konfiguriert haben. Sie können auch wählen, ob Sie eine App mehrfach (mit benutzerdefinierten Namen) oder für alle Benutzer sichern möchten.
Sichern/Wiederherstellen ist ein Teil vonBatch-Operationen. Es befindet sich
auch im Optionsmenü in
der Registerkarte Anwendungsinfo.
Clicking on Backup/Restore opens the Backup
Options. Backups are located at
/storage/emulated/0/AppManager
by default. You can
configure custom backup location in the settings page in which case the
backups will be located at the AppManager
folder in the
selected volume.
Hinweis.
Wenn eine oder mehrere ausgewählte Anwendungen keine Sicherung haben, werden die Optionen Wiederherstellen and Sicherung löschen nicht angezeigt.
Mit den Backup-Optionen (intern als Backup-Flags bezeichnet) können Sie die Backups im Handumdrehen anpassen. Die Anpassungen werden jedoch nicht für zukünftige Sicherungen gespeichert. Wenn Sie diesen Dialog anpassen möchten, verwenden Sie Backup-Optionen in der Einstellungen-Seite.
Eine vollständige Beschreibung der Sicherungsoptionen finden Sie weiter unten:
APK-Dateien. Whether to back up the APK files.
This includes the base APK file along with the
split APK
files if they exist.
Internal data. Ob die APK-Dateien gesichert
werden sollen. Dies umfasst die Datei Basis-APK sowie die
Dateien Split-APK
, falls vorhanden.
External data. Whether to back up data directories located in the internal memory as well as SD Card (if exists). External data directories often contain non-essential app data or media files (instead of using the dedicated media folder) and may increase the backup size. However, it might be essential for some apps. Although it isn’t checked by default (as it might dramatically increase the size of the backups), you may have to check it in order to ensure a smooth restore of your backups.
Caution.
Internal data folders should always be backed up if you are going to back up the external data folders. However, it could be useful to back up only the external folders if the app in question downloads a lot of assets from the Internet.
OBB and media. Whether to back up or restore the OBB and the media directories located in the external storage or the SD Card. This is useful for games and the graphical software which actually use these folders.
Cache. Android apps have multiple cache directories located at every data directories (both internal and external). There are two types of cache: cache and code cache. Enabling this option excludes both cache directories from all the data directories. It is generally advised to exclude cache directories since most apps do not clear the cache regularly (for some reason, the only way an app can clear its cache is by deleting the entire cache directory) and usually handled by the OS itself. Apps such as Telegram may use a very large cache (depending on the storage space) which may dramatically increase the backup size. When it is disabled, AM also ignores the no_backup directories.
Extras. Backup/restore app permissions, net policy, battery optimization, SSAID, etc., enabled by default. Note that, blocking rules are applied after applying the extras. So, if an item is present in both places, it will be overwritten (i.e., the one from the blocking rules will be used).
Rules. This option lets you back up blocking rules configured within App Manager. This might come in handy if you have customised permissions or block some components using App Manager as they will also be backed up or restored when you enable this option.
Backup Multiple. Whether this is a multiple backup. By default, backups are saved using their user ID. Enabling this option allows you to create additional backups. These backups use the current date-time as the default backup name, but you can also specify custom backup name using the input field displayed when you click on the Backup button.
Ausgewählte Anwender. Sicherung oder Wiederherstellung für die ausgewählten Benutzer statt nur für den aktuellen Benutzer. Diese Option wird nur angezeigt, wenn das System mehr als einen Benutzer hat.
Signaturprüfungen überspringen. Beim Erstellen
eines Backups werden die Prüfsummen jeder Datei (sowie die Signier-
Zertifikat(e) der APK-Basisdatei) generiert und in der Datei
checksums.txt
gespeichert. Wenn Sie die Sicherung
wiederherstellen, werden die Prüfsummen erneut generiert und mit den in
der genannten Datei gespeicherten Prüfsummen abgeglichen. Wenn Sie diese
Option aktivieren, werden die Signaturprüfungen ausgeschaltet. Diese
Option wird nur bei der Wiederherstellung eines Backups angewendet.
Während der Sicherung werden die Prüfsummen unabhängig von dieser Option
generiert.
Caution.
Sie sollten diese Option immer deaktivieren, um sicherzustellen, dass Ihre Sicherungen nicht von Anwendungen Dritter verändert werden. Dies würde jedoch nur funktionieren, wenn Sie die Verschlüsselung aktiviert haben.
See also: Einstellungen: Verschlüsselung
Backup respects all the backup options except Skip signature checks. If base backups (i.e., backups that don’t have the Backup Multiple option) already exist, you will get a warning as the backups will be overwritten. If Backup Multiple is set, you have an option to input the backup name, or you can leave it blank to use the current date-time.
Restore respects all the backup options and will fail if APK files option is set, but the backup doesn’t contain such backups or in other cases, if the app isn’t installed. When restoring backups for multiple packages, you can only restore the base backups (see backup section for an explanation). However, when restoring backups for a single package, you have the option to select which backup to restore. If All users option is set, AM will restore the selected backup for all users in the latter case but in the former case, it will restore base backups for the respective users.
Notice.
Apps that use storage access framework (SAF), SSAID or Android KeyStore works properly only after an immediate restart.
Delete backup only respects All users option and when it is selected, only the base backups for all users will be deleted with a prompt. When deleting backups for a single package, another dialog will be displayed where you can select the backups to delete.
Short for Network policy or network policies. It is usually located in the Android settings under Mobile data & Wifi section in the app info page of an app. Not all policies are guaranteed to be included in this page (e.g. Samsung), and not all settings are well-understood due to lack of documentation. App Manager can display all the net policies declared in the NetworkPolicyManager. Policies unknown to App Manager will have a Unknown prefix along with the policy constant name and number in the hexadecimal format. Unknown policies should be reported to App Manager for inclusion.
Net policy allows a user to configure certain networking behaviour of an app without modifying the ip tables directly and/or running a firewall app. However, the features it offers largely depend on Android version and ROM. A list of known net policies are listed below:
None or
POLICY_NONE
: (AOSP) No specific network
policy is set. System can still assign rules depending on the nature of
the app.
Reject background data or
POLICY_REJECT_METERED_BACKGROUND
: (AOSP)
Reject network usage on metered networks when the application is in
background.
Allow background data when Data Saver is on or
POLICY_ALLOW_METERED_BACKGROUND
: (AOSP)
Allow metered network use in the background even when data saving mode
is enabled.
Reject cellular data or
POLICY_REJECT_CELLULAR
(Android 11+) or
POLICY_REJECT_ON_DATA
(up to Android 10):
(Lineage OS) Reject mobile/cellular data. Signals network unavailable to
the configured app as if the mobile data is inactive.
Reject VPN data or
POLICY_REJECT_VPN
(Android 11+) or
POLICY_REJECT_ON_VPN
(up to Android 10):
(Lineage OS) Reject VPN data. Signals network unavailable to the
configured app as if the VPN is inactive.
Reject Wi-Fi data or
POLICY_REJECT_WIFI
(Android 11+) or
POLICY_REJECT_ON_WLAN
(up to Android 10):
(Lineage OS) Reject Wi-Fi data. Signals network unavailable to the
configured app as if the device is not connected to a Wi-Fi
network.
Disable network access or
POLICY_REJECT_ALL
(Android 11+) or
POLICY_NETWORK_ISOLATED
(up to Android
10): (Lineage OS) Reject network access in all circumstances. This is
not the same as enforcing the other three policies above, and is the
recommended policy for dodgy apps. If this policy is enforced, there is
no need to enforce the other policies.
POLICY_ALLOW_METERED_IN_ROAMING
:
(Samsung) Possibly allow metered network use during roaming. Exact
meaning is currently unknown.
POLICY_ALLOW_WHITELIST_IN_ROAMING
:
(Samsung) Possibly allow network use during roaming. Exact meaning is
currently unknown.
Note.
Corresponding Lineage OS patches are as follows:
Activities, services, broadcast receivers (also known as receivers) and content providers (also known as providers) are jointly called app components. More technically, they all inherit the ComponentInfo class.
AM blocks application components (or tracker components) using a method called Intent Firewall (IFW), it is very superior to other methods such as pm (PackageManager), Shizuku or any other method that uses the package manager to enable or disable the components. If a component is disabled by the latter methods, the app itself can detect that the component is being blocked and can re-enable it as it has full access to its own components. (Many deceptive apps actually exploit this in order to keep the tracker components unblocked.) On the other hand, IFW is a true firewall and the app cannot detect if the blocking is present. It also cannot re-enable it by any means. AM uses the term block rather than disable for this reason.
Even IFW has some limitations which are primarily applicable for the system apps:
The app in question is whitelisted by the system i.e. the system cannot function properly without these apps and may cause random crashes. These apps include but not limited to Android System, System UI, Phone Services. They will run even if you disable them or block their components via IFW.
Another system app or system process is calling a specific component of the app in question via interprocess communication (IPC). In this case, the component will be activated regardless of its presence in the IFW rules or even if the entire app is disabled. If you have such system apps, the only way to prevent them from running is to get rid of them.
No. But components blocked by the Android System or any other tools are displayed in the App Details page (within the component tabs). In v2.5.12 and onwards, you can import these rules in Settings. But since there is no way to distinguish between components blocked by third-party apps and components blocked by the System, you should be very careful when choosing app.
AM blocks the components again using Intent Firewall (IFW). They are not unblocked (if blocked using pm or Shizuku method) and blocked again. But if you unblock a component in the App Details page, it will be reverted back to default state —- blocked or unblocked as described in the corresponding app manifest —- using both IFW and pm method. However, components blocked by MyAndroidTools (MAT) with IFW method will not be unblocked by AM. To solve this issue, you can first import the corresponding configuration to AM in Settings in which case MAT’s configurations will be removed. But this option is only available from v2.5.12.
When you block a component in the App Details page, the blocking is not applied by default. It is only applied when you apply blocking using the Apply rules option in the top-right menu. If you enable instant component blocking, blocking will be applied as soon as you block a component. If you choose to block tracker components, however, blocking is applied automatically regardless of this setting. You can also remove blocking for an app by simply clicking on Remove rules in the same menu in the App Details page. Since the default behaviour gives you more control over apps, it is better to keep instant component blocking option disabled.
All app components are classes but not all classes are components. In fact, only a few of the classes are components. That being said, scanner page displays a list of trackers along with the number of classes, not just the components. In all other pages, trackers and tracker components are used synonymously to denote tracker components, i.e. blocking tracker means blocking tracker components, not tracker classes.
Info.
Tracker classes cannot be blocked. They can only be removed by editing the app itself.
Some apps may misbehave due to their dependency to tracker components blocked by AM. From v2.5.12, there is an option to unblock tracker components in the 1-Click Ops page. However, in previous versions, there is no such options. To unblock these tracker components, first go to the App Details page of the misbehaving app. Then, switching to the Activities tab, click on the Remove rules options in the top-right menu. All the blocking rules related to the components of the app will be removed immediately. Alternatively, if you have found the component that is causing the issue, you can unblock the component by clicking on the unblock button next to the component name. If you have enabled instant component blocking in Settings, disable it first as Remove rules option will not be visible when it is enabled.
If you have Google Play Services
(com.google.android.gms
) installed, unblocking the
following services may fix
certain crashes:
Ad Request Broker Service
.ads.AdRequestBrokerService
Cache Broker Service
.ads.cache.CacheBrokerService
Gservices Value Broker Service
.ads.GservicesValueBrokerService
Advertising Id Notification Service
.ads.identifier.service.AdvertisingIdNotificationService
Advertising Id Service
.ads.identifier.service.AdvertisingIdService
Unfortunately, yes. However, as of v2.5.13, you don’t need to keep AoT enabled all the time as it now uses a server-client mechanism to interact with the system, but you do have to keep the Developer options as well as USB debugging enabled. To do that, enable ADB over TCP and open App Manager. You should see working on ADB mode toast message in the bottom. If you see it, you can safely stop the server. For Lineage OS or its derivative OS, you can toggle AoT without any PC or Mac by simply toggling the ADB over network option located just below the USB debugging, but the server can’t be stopped for the latter case.
Sadly, no. ADB has limited permissions and controlling application components is not one of them.
Die meisten der vom ADB-Modus unterstützten Funktionen sind standardmäßig aktiviert, sobald die ADB-Unterstützung von AM erkannt wird. Dazu gehören Deaktivieren, Zwangsstoppen, Daten löschen, App-Ops und Berechtigungen gewähren/entziehen. Sie können auch Anwendungen ohne eine Aufforderung installieren und Laufende Apps/Prozesse anzeigen.
Ja. AM kann keine Systemeinstellungen ohne Root oder ADB over TCPändern.
AM verwendet die Berechtigung INTERNET aus den folgenden Gründen:
Um ADB-over-TCP-Unterstützung für Nicht-Root-Benutzer
bereitzustellen. ADB over TCP ist ein benutzerdefiniertes
Netzwerkprotokoll das normalerweise auf Port 5555
läuft. Um
sich mit diesem Port über localhost zu verbinden, benötigt AM daher
diese Berechtigung.
Um privilegierten Code sowohl im Root- als auch im
ADB-Modus auszuführen. AM ist eine Benutzeranwendung und kann
weder privilegierten Code ausführen und kann auch nicht auf versteckte
APIs zugreifen. Folglich führt AM einen Server in der privilegierten
Umgebung aus, indem es die App_Prozess
an Port
60001
nutzt, und auf der Benutzerseite verbindet sich AM
mit diesem Server und führt privilegierten Code aus der Ferne von der
Anwendung aus. Nun gibt es alternative Möglichkeiten, mit einem
entfernten Dienst zu kommunizieren. Diese werden derzeit in Betracht
gezogen.
Tracker und Bibliotheken werden manuell aktualisiert, bevor eine neue Version veröffentlicht wird.
Die Verwendung von versteckten APIs und die Ausführung von privilegiertem Code durch App Manager ist jetzt viel komplexer und kann nicht mit anderen Anwendungen von Drittanbietern wie z. B. Shizuku. Hier sind einige Gründe für die Nichtberücksichtigung von Shizuku (das jetzt die Apache 2.0 Lizenz hat) durch den App Manager:
Shizuku war ursprünglich unfrei, was mich dazu veranlasste, einen ähnlichen Ansatz für App Manager zu verwenden, um sowohl root und ADB zu nutzen
App Manager unterstützt bereits sowohl ADB als auch Root, was in einigen Fällen leistungsfähiger ist als Shizuku
Sich für die wichtigsten Funktionen auf eine Drittanbieter-App zu verlassen, ist keine gute Designentscheidung
Die Integration von Shizuku wird die Komplexität des App Managers erhöhen.
Bei Bloatware handelt es sich um überflüssige Anwendungen, die vom Hersteller oder OEM geliefert werden und in der Regel Systemanwendungen sind. Diese Anwendungen werden oft verwendet, um Benutzer zu verfolgen und Benutzerdaten zu sammeln, die sie möglicherweise gewinnbringend verkaufen. System-Apps müssen keine Erlaubnis einholen, um auf Geräteinformationen, Kontakte und Nachrichtendaten sowie auf andere Nutzungsdaten wie Ihre Gewohnheiten und alles, was Sie auf Ihrem gemeinsamen Speicher speichern, zugreifen zu können.
Die Bloatware umfassen auch Google-Apps (wie Google Play Services, Google Play Store, Gmail, Google, Messages, Dialer, Kontakte), Facebook-Apps (die Facebook-App besteht aus vier oder fünf Apps), Facebook Messenger, Instagram, Twitter und viele andere Apps, die ebenfalls Nutzer verfolgen und/oder Nutzerdaten ohne Zustimmung sammeln können, da sie alle System-Apps sind. Sie können einige Berechtigungen in den Android-Einstellungen deaktivieren, aber seien Sie sich bewusst, dass die Android-Einstellungen fast jede Berechtigung versteckt, die ein Sicherheitsexperte als potenziell gefährlich bezeichnen würde.
Wenn es sich bei der Bloatware um Benutzeranwendungen handelt, können Sie sie entweder über die Android-Einstellungen oder über AM deinstallieren. Die Deinstallation von System- Apps ist ohne Root-Berechtigung nicht möglich. Sie können System-Apps auch mit ADB deinstallieren, aber das funktioniert möglicherweise nicht bei allen Apps. AM kann System-Apps mit Root oder ADB deinstallieren (letzteres natürlich mit gewissen Einschränkungen), aber diese Methoden können die Systemanwendungen nicht vollständig entfernen, da sie sich in der Partition system befinden, die eine schreibgeschützte Partition ist. Wenn Sie über Root verfügen, können Sie diese Partition wieder einhängen, um diese Anwendungen manuell zu entfernen, aber dies wird Over the Air (OTA)-Updates unterbrechen, da die Daten in der Systempartition geändert wurden. Es gibt zwei Arten von Updates, Delta- (eine kleine Version, die nur die Änderungen zwischen zwei Versionen enthält) und vollständige Updates. Sie können weiterhin vollständige Updates anwenden, aber die Bloatware wird erneut installiert, und Sie müssen sie daher erneut löschen. Außerdem bieten nicht alle Hersteller vollständige Aktualisierungen an.
Eine andere Lösung besteht darin, diese Apps entweder über die Android-Einstellungen (No-Root) oder AM zu deaktivieren, aber bestimmte Dienste können weiterhin im Hintergrund laufen, da sie von anderen Systemanwendungen unter Verwendung von Interprozesskommunikation (IPC) gestartet werden können. Eine mögliche Lösung ist es, alle Bloatware zu deaktivieren, bis der Dienst endgültig beendet ist (nach einem Neustart). Aufgrund der starken Änderungen an den Android-Frameworks durch die Hersteller kann das Entfernen oder Deaktivieren bestimmter Bloatware jedoch zum Absturz der System-UI oder sogar einen Bootloop verursachen, was zu einem (Soft-)Bricking Ihres Geräts führt. Sie können im Internet suchen oder andere Benutzer befragen um mehr darüber herauszufinden, wie Sie Ihr Gerät debloaten können.
Ab v2.5.19 verfügt AM über eine neue Funktion namens Profile. Die Seite Profile bietet die Möglichkeit, neue Profile aus einer der Voreinstellungen zu erstellen. Die Voreinstellungen bestehen aus Debloating-Profilen, die als Ausgangspunkt für die Überwachung, Deaktivierung und Entfernung von Bloatware von einem proprietären Android-Betriebssystem.
Hinweis.
In den meisten Fällen können Sie Ihr Gerät nicht vollständig debloaten. Daher empfiehlt es sich, ein benutzerdefiniertes ROM zu verwenden, wie Graphene OS, Lineage OS oder deren Derivate, die frei von Bloatware sind.
AM unterstützt derzeit das Sperren von Aktivitäten, Broadcast-Empfängern, Inhaltsanbietern, Diensten, App-Ops und Berechtigungen, und in Zukunft werde ich möglicherweise weitere Blockierungsoptionen hinzufügen. Um die Portabilität zu erhöhen, ist es notwendig, alle diese Daten zu importieren/exportieren.
Die Verwendung einer Datenbank sollte die beste Wahl sein, wenn es um
die Speicherung von Daten geht. Im Moment werden mehrere
tsv
-Dateien wobei jede Datei den Namen des Pakets und eine
.tsv
-Erweiterung hat. Die Datei/Datenbank wird
abgefragt/verarbeitet durch die Klasse RulesStorageManager
.
Aufgrund dieser Abstraktion sollte es in Zukunft einfacher sein, auf
Datenbank- oder verschlüsselte Datenbanksysteme zu wechseln, ohne das
Design des gesamten Projekts zu ändern. Derzeit werden alle
Konfigurations- dateien unter
/data/data/io.github.muntashirakon.AppManager/Files/conf
gespeichert.
Das folgende Format wird intern in App Manager verwendet und ist nicht mit dem externen Format kompatibel.
<Name> <Typ> <Modus>|<Komponente_Status>|<ist_gewährt>
Hier:
<Name>
– Name der Komponente/Zulassung/App-Op
(im Falle einer App-Op kann es sich um einen String oder eine ganze Zahl
handeln)
<Typ>
– Eines der Elemente
ACTIVITY
, RECEIVER
, PROVIDER
,
SERVICE
, App_OP
,
PERMISSION
<Modus>
– (Für app ops) Die zugehörige mode constant
<Komponente_Status>
– (Für Komponenten)
Komponentenstatus
wahr
– Die Komponente wurde angewendet (der Wert
wahr
wird aus Kompatibilitätsgründen beibehalten)
falsch
– Die Komponente wurde noch nicht angewendet,
wird aber in Zukunft angewendet (der Wert falsch
wird aus
Kompatibilitätsgründen beibehalten)
freigeschaltet
– Die Komponente soll freigegeben
werden
<ist_gewährt>
– (Für Berechtigungen) Ob die
Berechtigung erteilt oder entzogen ist
Externes Format wird zum Importieren oder Exportieren von Regeln in App Manager verwendet.
<Paketname> <Komponentenname> <Typ> <Modus>|<Komponentenstatus>|<ist_gewährt>
Das Format ist im Wesentlichen dasselbe wie oben, mit Ausnahme des ersten Elements, das der Name des Pakets ist.
Vorsicht.
Die exportierten Regeln haben ein anderes Format als die internen Regeln und sollten nicht direkt in die Datei conf-Ordner kopiert werden.
Back up/restore feature is now finally out of beta! Read the corresponding guide to understand how it works.
Log viewer is essentially a
front-end for logcat
. It can be used to filter logs by
tag or pid (process ID), or even by custom filters.
Log levels AKA verbosity can also be configured. You can also save,
share and manage logs.
Lock App Manager with the screen lock configured for your device.
You can set any mode for any app ops that your device supports, either from the 1-click ops page or from the app ops tab.
You can now easily add selected apps to an existing profile using the batch operations.
App info tab now has many options, including the ability to change SSAID, network policy (i.e. background network usage), battery optimization, etc. Most of the tags used in this tab are also clickable, and if you click on them, you will be able to look at the current state or configure them right away.
Sort and filter options are now replaced by List Options which is highly configurable, including the ability to filter using profiles.
Interested in knowing about your device in just one page? Go to the bottom of the settings page.
Not interested in all the features that AM offers? You can disable some features in settings.
AM now has more than 19 languages! New languages include Farsi, Japanese and Traditional Chinese.
You can now import external signing keys in AM! For security, App Manager has its own encrypted KeyStore which can also be imported or exported.
Since APKMirror has removed encryption from their APKM files, it’s no longer necessary to decrypt them. As a result, the option to decrypt APKM files has been removed. Instead, this option is now provided by the UnAPKM extension which you can grab from F-Droid. So, if you have an encrypted APKM file and have this extension installed, you can open the file directly in AM.
Profiles finally closes the related
issue. Profiles can be used to execute certain tasks repeatedly
without doing everything manually. A profile can be applied (or invoked)
either from the Profiles page or from
the home screen by creating shortcuts. There are also some presets which
consist of debloating profiles taken from Universal
Android Debloater. Exporting rules and applying permissions are not currently
working. Profiles are applied for all users.6.2.1.0.1 Known limitations
Intent
Intercept works as a man-in-the-middle between source and
destination, that is, when you open a file or URL with another app, you
can see what is being shared by opening it with Interceptor first. You
can also add or modify the intents before sending them to the
destination. Additionally, you can double-click on any exportable
activities in the Activities tab in the App Details page to open them in
the Interceptor to add more configurations. Editing extras is not currently possible.6.2.2.0.1 Known limitation
When I released a small tool called UnAPKM, I promised that similar feature will be available in App Manager. I am proud to announce that you can open APKM files directly in the App Info page or convert them to APKS or install them directly.
App manager now supports multiple users! For now, this requires root or ADB. But no-root support is also being considered. If you have multiple users enabled and click on an app installed in multiple profiles, an alert prompt will be displayed where you can select the user.
Thanks to the contributors, we have one more addition to the language club: French. You can add more languages or improve existing translations at Weblate.
If App Manager crashes, you can now easily report the crash from the notifications which opens the share options. Crashes are not reported by App Manager, it only redirects you to your favourite Email client.
Added support for Android 11. Not everything may work as expected though.
In settings page, you can set install locations such as auto (default), internal only and prefer external.
In settings page, you can also set default APK installer (root/ADB only) instead of App Manager.
In settings page, you can allow App Manager to display multiple users during APK installation.
In settings page, you can choose to sign APK files before installing
them. You can also select which signature scheme to use in the APK
signing option in settings. Currently, only a generic key is used to sign APK files6.2.8.4.1 Known limitation
As promised, it is now possible to select splits. AM also provides
recommendations based on device configurations. If the app is already
installed, recommendations are provided based on the installed app. It
is also possible to downgrade to a lower version without data loss if
the device has root or ADB. But it should be noted that not all app can
be downgraded. Installer is also improved to speed up the installation
process, especially, for root users. If the app has already been
installed and the new (x)apk(s) is newer or older or the same version
with a different signature, AM will display a list of changes similar to
What’s New before prompting the user to install the
app. This is useful if the app has introduced tracker components, new
permissions, etc. Large app can take a long time to fetch app info and therefore it
may take a long time display the installation prompt. If the apk is not located in the internal storage, the app has to
be cached first which might also take a long time depending on the size
of the apk.6.3.1.0.1 Known Limitations
Exodus page is now replaced with scanner page. Scanner page contains not only a list of trackers but also a list of used libraries. This is just a start. In the future, this page will contain more in depth analysis of the app.
System Config lists various system configurations and whitelists/blacklists included in Android by either OEM/vendor, AOSP or even some Magisk modules. Root users can access this option from the overflow menu in the main page. There isn’t any official documentation for these options therefore it’s difficult to write a complete documentation for this page. I will gradually add documentations using my own knowledge. However, some functions should be understandable by their name.
Thanks to the contributors, AM now has more than 12 languages. New languages include Bengali, Hindi, Norwegian, Polish, Russian, Simplified Chinese, Turkish and Ukrainian.
More tags are added in the app info tab such as KeyStore (apps with KeyStore items), Systemless app (apps installed via Magisk), Running (apps that are running). For external apk, two more options are added namely Reinstall and Downgrade. Now it is possible to share an apk via Bluetooth. For system apps, it is possible to uninstall updates for root/ADB users. But like the similar option in the system settings, this operation will clear all app data. As stated above, exodus has been replaced with scanner.
It is now possible to sort and filter processes in this tab. Also, the three big buttons are replaced with an easy-to-use three dot menu. Previously the memory usage was wrong which is fixed in this version.
Toybox (an alternative to busybox) is bundled with AM. Although Android has this utility built-in from API 23, toybox is bundled in order to prevent buggy implementations and to support API < 23.
Component blocker seemed to be problematic in the previous version, especially when global component blocking is enabled. The issues are mostly fixed now.
Caution.
The component blocking mechanism is no longer compatible with v2.5.6 due to various security issues. If you have this version, upgrade to v2.5.13 or earlier versions first. After that, enable global component blocking and disable it again.
Value of various app ops depend on their parent app ops. Therefore, when you allow/deny an app op, the parent of the app op gets modified. This fixes the issues some users have been complaining regarding some app ops that couldn’t be changed.
If an app has the target API 23 or less, its permissions cannot be
modified using the pm grant …
command. Therefore, for such
apps, option to toggle permission has been disabled.
The signature tab is improved to support localization. It also displays multiple checksums for a signature.
Manifest no longer crashes if the size of the manifest is too long. Generated manifest are now more accurate than before.
Bundled app formats such as apks and
xapk are now supported. You can install these apps
using the regular installation buttons. For root and adb users, apps are
installed using shell, and for non-root users, the platform default
method is used. Currently all splits apks are installed. But this
behaviour is going to change in the next release. If you only need a few
splits instead of all, extract the APKS or
XAPK file, and then, create a new zip file with your
desired split apks and replace the ZIP extension with
APKS. Now, open it with AM. There is no progress dialog to display the installation
progress.6.4.1.0.1 Known Limitations
You can now install APK, APKS or
XAPK directly from your favourite browser or file
manager. For apps that need updates, a What’s New
dialog is displayed showing the changes in the new version. Downgrade is not yet possible. There is no progress dialog to display the installation progress.
If you cannot interact with the current page, wait until the
installation is finished.6.4.2.0.1 Known Limitations
In the Settings page, a new option is added which can be used to remove all blocking rules configured within App Manager.
App Ops are now generated using a technique similar to AppOpsX. This should decrease the loading time significantly in the App Ops tab.
In the App Ops tab, a menu item is added which can be used to list only active app ops without including the default app ops. The preference is saved in the shared preferences.
Often the App Ops tab may not be responsive. If that’s the case, restart App Manager.
ADB shell commands are now executed using a technique similar to
AppOpsX (This is the free alternative of AppOps by Rikka.).
This should dramatically increase the execution time. AM can often crash or become not responsive. If that’s the case,
restart App Manager.6.4.5.0.1 Known Limitation
Add an option to filter apps that has at least one activity.
Apk files are now saved as app name_version.extension
instead of package.name.extension
.
Added a foreground service to run batch operations. The result of the operation is displayed in a notification. If an operation has failed for some packages, clicking on the notification will open a dialog box listing the failed packages. There is also a Try Again button on the bottom which can be used to perform the operation again for the failed packages.
Replaced Linux kill with force-stop.
Added German and Portuguese (Brazilian) translations. Not all translations are verified yet.6.4.9.0.1 Known Limitation
Install app only for the current user at the time of restoring backups. Support for split apks is also added.
Data backup feature is now considered unstable. If you encounter any problem, please report to me without hesitation.
App Ops (short hand for Application
Operations) are used by Android system (since Android 4.3) to
control application permissions. The user can control some
permissions, but only the permissions that are considered dangerous (and
Google thinks knowing your phone number isn’t a dangerous thing). So,
app ops seems to be the one we need if we want to install apps like
Facebook and it’s Messenger (the latter literary records everything if
you live outside the EU) and still want some privacy and/or
security. Although certain features of app ops were available in
Settings and later in hidden settings in older version of Android, it’s
completely hidden in newer versions of Android and is continued to be
kept hidden. Now, any app with
android.Manifest.permission.GET_APP_OPS_STATS
permission can get the app ops information for other applications but
this permission is hidden from users and can only be enabled using ADB
or root. Still, the app with this permission cannot grant or revoke
permissions (actually mode of operation) for apps other than itself
(with limited capacity, of course). To modify the ops of other app, the
app needs
android.Manifest.permission.UPDATE_APP_OPS_STATS
permissions which isn’t accessible via pm
command. So, you
cannot grant it via root or ADB, the permission is only granted to the
system apps. There are very few apps who support disabling permissions
via app ops. The best one to my knowledge is AppOpsX. The main (visible)
difference between my app (AppManager) and this app is that the latter
also provides you the ability to revoke internet permissions (by writing
ip tables). One crucial problem that I faced during the development of
the app ops API is the lack of documentation in English language.
Figure 1 describes the process of changing
and processing permission. AppOpsManager can be used to manage
permissions in Settings app. AppOpsManager is also
useful in determining if a certain permission (or operation) is granted
to the application. Most of the methods of
AppOpsManager are accessible to the user app but unlike
a system app, it can only be used to check permissions for any app or
for the app itself and start or terminating certain operations.
Moreover, not all operations are actually accessible from this Java
class. AppOpsManager holds all the necessary constants
such as OP_*
,
OPSTR_*
, MODE_*
which describes
operation code, operation string and mode of operations respectively. It
also holds necessary data structures such as PackageOps and OpEntry.
PackageOps holds OpEntry for a
package, and OpEntry, as the name suggests, describes
each operation.
AppOpService
is completely hidden from a user
application but accessible to the system applications. As it can be seen
in Figure 1, this is the class that does the
actual management stuff. It contains data structures such as
Ops to store basic package info and Op
which is similar to OpEntry of
AppOpsManager. It also has Shell which
is actually the source code of the appops command line tool. It writes
configurations to or read configurations from /data/system/appops.xml
. System
services calls AppOpsService to find out what an
application is allowed and what is not allowed to perform, and
AppOpsService determines these permissions by parsing
/data/system/appops.xml
. If no custom values are present in
appops.xml, it returns the default mode available in
AppOpsManager.
AppOpsManager stands for application operations manager. It consists of various constants and classes to modify app operations.
See also: AppOpsManager documentation
OP_*
ConstantsOP_*
are the integer constants starting from
0
. OP_NONE
implies that no operations are
specified whereas _NUM_OP
denotes the number of operations
defined in OP_*
prefix. While they denote each operation,
the operations are not necessarily unique. In fact, there are many
operations that are actually a single operation denoted by multiple
OP_*
constant (possibly for future use). Vendors may define
their own op based on their requirements. MIUI is one of the vendors who
are known to do that.
public static final int OP_NONE = -1;
public static final int OP_COARSE_LOCATION = 0;
public static final int OP_FINE_LOCATION = 1;
public static final int OP_GPS = 2;
public static final int OP_VIBRATE = 3;
...
public static final int OP_READ_DEVICE_IDENTIFIERS = 89;
public static final int OP_ACCESS_MEDIA_LOCATION = 90;
public static final int OP_ACTIVATE_PLATFORM_VPN = 91;
public static final int _NUM_OP = 92;
Whether an operation is unique is defined by
sOpToSwitch
. It maps each operation to another operation or
to itself (if it’s a unique operation). For instance,
OP_FINE_LOCATION
and OP_GPS
are mapped to
OP_COARSE_LOCATION
.
Each operation has a private name which are described by
sOpNames
. These names are usually the same names as the
constants without the OP_
prefix. Some operations have
public names as well which are described by sOpToString
.
For instance, OP_COARSE_LOCATION
has the public name
android:coarse_location.
As a gradual process of moving permissions to app ops, there are
already many permissions that are defined under some operations. These
permissions are mapped in sOpPerms
. For example, the
permission
android.Manifest.permission.ACCESS_COARSE_LOCATION is
mapped to OP_COARSE_LOCATION
. Some operations may not have
any associated permissions which have null
values.
As described in the previous section, operations that are configured
for an app are stored at /data/system/appops.xml
. If an
operation is not configured, then whether system will allow that
operation is determined from sOpDefaultMode
. It lists the
default mode for each operation.
MODE_*
ConstantsMODE_*
constants also integer constants starting from
0
. These constants are assigned to each operation
describing whether an app is authorised to perform that operation. These
modes usually have associated names such as allow for
MODE_ALLOWED
, ignore for
MODE_IGNORED
, deny for
MODE_ERRORED
(a rather misnomer), default
for MODE_DEFAULT
and foreground for
MODE_FOREGROUND
.
MODE_ALLOWED
. The app is allowed to
perform the given operation
MODE_IGNORED
. The app is not
allowed to perform the given operation, and any attempt to perform the
operation should silently fail, i.e. it should not cause the
app to crash
MODE_ERRORED
. The app is not
allowed to perform the given operation, and this attempt should cause it
to have a fatal error, typically a
SecurityException
MODE_DEFAULT
. The app should use
its default security check, specified in
AppOpsManager
MODE_FOREGROUND
. Special mode that
means “allow only when app is in foreground.” This mode was added in
Android 10
MODE_ASK
. This is a custom mode
used by MIUI whose uses are unknown.
AppOpsManager.PackageOps is a data structure to store all the OpEntry for a package. In simple terms, it stores all the customised operations for a package.
public static class PackageOps implements Parcelable {
private final String mPackageName;
private final int mUid;
private final List<OpEntry> mEntries;
...
}
As can be seen in Listing 2, it stores all OpEntry for a package as well as the corresponding package name and its kernel user ID.
AppOpsManager.OpEntry is a data structure that stores a single operation for any package.
public static final class OpEntry implements Parcelable {
private final int mOp;
private final boolean mRunning;
private final @Mode int mMode;
private final @Nullable LongSparseLongArray mAccessTimes;
private final @Nullable LongSparseLongArray mRejectTimes;
private final @Nullable LongSparseLongArray mDurations;
private final @Nullable LongSparseLongArray mProxyUids;
private final @Nullable LongSparseArray<String> mProxyPackageNames;
...
}
Here:
mOp
: Denotes one of the OP_*
constants
mRunning
: Whether the operation is in progress
(i.e. the operation has started but not finished yet). Not all
operations can be started or finished this way
mMOde
: One of the MODE_*
constants
mAccessTimes
: Stores all the available access
times
mRejectTimes
: Stores all the available reject
times
mDurations
: All available access durations, checking
this with mRunning
will tell you for how long the app is
performing a certain app operation
mProxyUids
: No documentation found
mProxyPackageNames:
No documentation found
TODO
TODO
Latest appops.xml
has the following format: (This DTD is
made by me and by no means perfect, has compatibility issues.)
<!DOCTYPE app-ops [
<!ELEMENT app-ops (uid|pkg)*>
<!ATTLIST app-ops v CDATA #IMPLIED>
<!ELEMENT uid (op)*>
<!ATTLIST uid n CDATA #REQUIRED>
<!ELEMENT pkg (uid)*>
<!ATTLIST pkg n CDATA #REQUIRED>
<!ELEMENT uid (op)*>
<!ATTLIST uid
n CDATA #REQUIRED
p CDATA #IMPLIED>
<!ELEMENT op (st)*>
<!ATTLIST op
n CDATA #REQUIRED
m CDATA #REQUIRED>
<!ELEMENT st EMPTY>
<!ATTLIST st
n CDATA #REQUIRED
t CDATA #IMPLIED
r CDATA #IMPLIED
d CDATA #IMPLIED
pp CDATA #IMPLIED
pu CDATA #IMPLIED>
]>
The instruction below follows the exact order given above:
app-ops
: The root element. It can contain any number
of pkg
or package uid
v
: (optional, integer) The version number (default:
NO_VERSION
or -1
)
pkg
: Stores package info. It can contain any number
of uid
n
: (required, string) Name of the package
Package uid
: Stores package or packages info
n
: (required, integer) The user ID
uid
: The package user ID. It can contain any number
of op
n
: (required, integer) The user ID
p
: (optional, boolean) Is the app is a
private/system app
op
: The operation, can contain st
or
nothing at all
n
: (required, integer) The op name in integer,
i.e. AppOpsManager.OP_*
m
: (required, integer) The op mode,
i.e. AppOpsManager.MODE_*
st
: State of operation: whether the operation is
accessed, rejected or running (not available on old versions)
n
: (required, long) Key containing flags and
uid
t
: (optional, long) Access time (default:
0
)
r
: (optional, long) Reject time (default:
0
)
d
: (optional, long) Access duration (default:
0
)
pp
: (optional, string) Proxy package name
pu
: (optional, integer) Proxy package uid
This definition can be found at AppOpsService.
appops
or cmd appops
(on latest versions)
can be accessible via ADB or root. This is an easier method to get or
update any operation for a package (provided the package name is known).
The help page of this command is self-explanatory:
AppOps service (appops) commands:
help
Print this help text.
start [--user <USER_ID>] <PACKAGE | UID> <OP>
Starts a given operation for a particular application.
stop [--user <USER_ID>] <PACKAGE | UID> <OP>
Stops a given operation for a particular application.
set [--user <USER_ID>] <[--uid] PACKAGE | UID> <OP> <MODE>
Set the mode for a particular application and operation.
get [--user <USER_ID>] <PACKAGE | UID> [<OP>]
Return the mode for a particular application and optional operation.
query-op [--user <USER_ID>] <OP> [<MODE>]
Print all packages that currently have the given op in the given mode.
reset [--user <USER_ID>] [<PACKAGE>]
Reset the given application or all applications to default modes.
write-settings
Immediately write pending changes to storage.
read-settings
Read the last written settings, replacing current state in RAM.
options:
<PACKAGE> an Android package name or its UID if prefixed by --uid
<OP> an AppOps operation.
<MODE> one of allow, ignore, deny, or default
<USER_ID> the user id under which the package is installed. If --user is not
specified, the current user is assumed.