Android-Berechtigungen bieten Einstellungen, die die Nutzeraufmerksamkeit erhöhen und den Zugriff einer App auf vertrauliche Daten einschränken. Die Konfiguration von Berechtigungen unter Android 8.0 und niedriger umfasst eine Zulassungsliste, ohne die berechtigte Apps deaktiviert werden, auch wenn sie sich im Pfad priv-app
befinden. Unter Android 9 und höher wird ein Gerät, auf dem versucht wird, Apps zu verwenden, die nicht korrekt auf die Zulassungsliste gesetzt wurden, nicht gestartet.
Mit Android 10 wurde das Konzept der Rolle eingeführt, ein eindeutiger Name innerhalb des Systems, der mit bestimmten Anforderungen und Berechtigungen verknüpft ist. Weisen Sie Apps Rollen zu, um ihnen Berechtigungen für einen bestimmten Zweck zu gewähren, und konfigurieren Sie Standardrollen mithilfe von Plattformkonfigurationsressourcen.
Durch den verbesserten Schutz vor potenziell schädlichen Apps (Potentially Harmful Applications, PHAs) werden folgende Aspekte optimiert:
- Transparenz bei potenziell schädlichem App-Verhalten
- Nutzersteuerung des App-Verhaltens
- Die Verwendung von privaten Daten, die durch Berechtigungen geschützt sind, liegt im Ermessen der App-Entwickler.
Paketinstallation und Berechtigung
Unter Android 9 und niedriger waren die Funktionen zur Paketinstallation und Berechtigungssteuerung im Paket PackageInstaller
(//packages/apps/PackageInstaller
) enthalten. Unter Android 10 und höher befindet sich die Berechtigungssteuerung in einem separaten Paket, PermissionController
(//packages/apps/PermissionController
). Abbildung 1 zeigt, wo sich die beiden Pakete in Android 10 befinden.

Abbildung 1: Funktionen zur Paketinstallation und Berechtigungssteuerung in Android 10
Zulassungslisten und Zugriff
Unter Android 6.0 und höher fordern Apps den Zugriff auf gefährliche Berechtigungen während der Laufzeit an. In Android 10 gibt es Laufzeitberechtigungen für die Aktivitätserkennung, die den Nutzer auffordern, gefährliche Berechtigungen zu ändern oder zuzulassen.
Unter Android 8.0 mussten Sie Berechtigte Apps in den XML-Dateien der Systemkonfiguration im Verzeichnis /etc/permissions
explizit auf die Zulassungsliste setzen.
Unter Android 9 und höher müssen Berechtigungen mit erhöhten Zugriffsrechten auf die Zulassungsliste gesetzt werden, da das Gerät sonst nicht gestartet werden kann.
Um die Sichtbarkeit der internen API zu begrenzen und zu verhindern, dass Apps versehentlich auf Plattformbibliotheken zugreifen, wurden in Android 7.0 Namespaces für native Bibliotheken eingeführt. So werden Systembibliotheken von App-Bibliotheken getrennt und Gerätehersteller können ihre eigenen nativen Bibliotheken hinzufügen.
Ab Android 10 benötigen Apps sowohl Signaturberechtigungen als auch die Nutzereinwilligung, um auf den Bildschirminhalt eines Geräts zuzugreifen. Berechtigte Apps, die die Funktion zum Stummschalten von Aufnahmen nutzen, z. B. für Screenshots, sollten stattdessen die Klasse MediaProjection verwenden.
Unter Android 15 müssen Sie Berechtigungen für Plattformsignaturen, die von nicht systeminternen Apps oder neu durch Updates für systeminterne Apps angefordert werden, in den XML-Dateien der Systemkonfiguration im Verzeichnis /etc/permissions
ausdrücklich auf die Zulassungsliste setzen.
Transparenz und Datenschutz
Unter Android 6.0 und höher ist die MAC-Adresse der Werkseinstellungen eines Geräts vor dem Zugriff durch WLAN-Dienstanbieter und Paketanalysatoren geschützt. Zusätzliche Einschränkungen ab Android 10 beschränken den Zugriff von Apps auf die unveränderlichen Geräte-IDs, es sei denn, sie sind auf der Zulassungsliste für Berechtigungen mit erhöhten Zugriffsrechten. Im Abschnitt Konnektivität finden Sie weitere Informationen zu Geräte-IDs, da sich diese auf Mobilfunkanbieter auswirken.
Unter Android 9 und niedriger treffen Nutzer dauerhafte Entscheidungen, wenn sie Apps den Standortzugriff gewähren. Seit Android 10 haben Nutzer mit der dreistufigen Standortfreigabe drei Möglichkeiten, Apps den Zugriff auf den Standort eines Geräts zu erlauben. Diese Berechtigungsanforderungen gelten für Apps unter Android 10 unabhängig vom Ziel-SDK.
Berechtigungen für andere Transparenz- und Datenschutzfunktionen ab Android 10 konfigurieren
- Die Erinnerung zum
Zugriff auf die Standortermittlung im Hintergrund wird Nutzern angezeigt, wenn eine App über die Berechtigung
ACCESS_FINE_LOCATION
im Hintergrund auf ihren Gerätestandort zugreift. - Auf Daten zu Kontaktaffinitäten, die von der Kontaktanbieterkomponente verwaltet werden, wird anders zugegriffen: Apps können die Daten zu Kontaktaffinitäten in der Datenbank nicht lesen oder darauf schreiben. Das betrifft APIs, die sich auf den Anrufer beziehen.
Optimierte Konfigurationen
Die Berechtigungskonfigurationen wurden für Android 6.0 und höher optimiert.
- Bei In-Background-Funktionen für Dienste, die von
init
gestartet werden, werden alle Aspekte der Dienstkonfiguration in einer einzigen.rc
-Datei gespeichert. Wenn Sie Funktionen für Dienste festlegen, die nicht voninit
gestartet werden, konfigurieren Sie die Dateisystemfunktionen stattdessen mitfs_config.c
. - Android 7.x und niedriger erweitern den Mechanismus für Android-IDs (AIDs) mit einer gerätespezifischen
android_filesystem_config.h
-Datei, in der Dateisystemfunktionen und/oder benutzerdefinierte AIDs des Geräteherstellers angegeben werden. Android 8.0 und höher unterstützen eine neue Methode zum Erweitern der Dateisystemfunktionen. - Unter Android 8.0 werden USB-Befehle nicht mehr in gerätespezifischen
init
-Scripts (einem Ersatz für HAL-Ebenen) verarbeitet, sondern in einem nativen USB-Daemon. Die USB HAL-Schnittstelle muss auf jedem Gerät implementiert sein, das mit Android 8.0 oder höher auf den Markt kommt.