Android 9 unter der Lupe: Update verspricht deutlich bessere Akkulaufzeit

    2. August 2018, 10:04
    67 Postings

    Wichtige Fortschritte auch für Privatsphäre und Sicherheit – Die Basisverbesserungen der neuen Version im Detail

    Mit Android 8 "Oreo" hat Google sein Betriebssystem einem tiefgreifenden Umbau unterzogen: Das "Project Treble" schuf jene Basis auf der künftige Android-Generationen aufsetzen sollen – nicht zuletzt mit dem Ziel die Update-Auslieferung deutlich zu beschleunigen. Wer nun meint, dass sich die Entwickler nach diesem Kraftakt zurücklehnen, sieht sich schnell eines besseren belehrt: Das kommende Android 9 bringt nämlich erneut zahlreiche Verbesserungen für die Grundlagen des Betriebssystems, wobei die Schwerpunkte mit drei Begriffen umrissen werden können: Akkulaufzeit, Sicherheit und Privatsphäre.

    Disclaimer

    Bevor es ins Detail geht aber noch ein wichtiger Hinweis vorab: Dieser Artikel beschränkt sich bewusst auf Umbauten am Basissystem von Android. Die sichtbaren Neuerung von Android 9 – wie etwa die neue Gestennavigation oder Verbesserungen am Benachrichtigungssystem – sollen zu einem späteren Zeitpunkt in einem eigenen Test besprochen werden.

    Die vermaledeite Akkulaufzeit

    Fragt man Smartphone-User nach den größten Schwachpunkten aktueller Geräte, kommt eine Antwort besonders oft: Die Akkulaufzeit. Entsprechen hat Google in den letzten Jahren einiges an Arbeit investiert, um Verbesserungen in diesem Bereich zu erzielen – und das durchaus mit Erfolg. Nun kommt der nächste große Schritt zur Verbesserung der Akkulaufzeit und für diesen greift Google – wie bei so vielen seiner aktuellen Neuerungen – zu den Möglichkeiten von Maschinenlernen. Android 9.0 analysiert das individuelle Nutzungsverhalten und entscheidet daraufhin, was welche Apps wie lange im Hintergrund tun dürfen. Die Grundidee dahinter ist – sehr vereinfacht gesagt – die Folgende: Wird eine installierte App immer nur in großen Abständen benutzt, kann das System sie auch schneller wieder beenden, und ihr dabei auch gleich wieder jeglichen Zugriff auf das Internet untersagen.

    foto: andreas proschofsky / der standard
    Android gibt es schon bald in einer neuen Version – und die bringt wieder viel Neues.

    Im Detail ist das natürlich alles etwas komplizierter: Android teilt die einzelnen Apps künftig in sogenannte "App Standby Buckets" ein. Nur jene Apps, die gerade als "Active" markiert sind, haben dabei uneingeschränkten Zugriff auf alle Möglichkeiten eines Hintergrunddienstes. Der zweite "Bucket" nennt sich "Working Set", und umfasst alle Programme, die oft genutzt werden, aber gerade nicht aktiv sind. Apps, die sich hier befinden, sind leichten Einschränkungen beim Ausführen anstehender Tasks ausgesetzt, sie müssen also zum Teil warten, bis das System mehrere solcher Aufgaben im Bündel ausführt, um Strom zu sparen. Die nächste Gruppe heißt "Frequent", und umfasst Apps, die zwar regelmäßig aber auch nicht unbedingt täglich verwendet werden. Hier werden dann anstehende Tasks noch wesentlich stärker verschoben. Zusätzlich gibt es aber auch eine Begrenzung für jene High-Priority-Push-Benachrichtigungen, die sonst immer direkt das System aufwecken dürfen. Bliebe noch der "Bucket" mit dem Namen "Rare", der also Apps umfasst, die nur selten zum Einsatz kommen. Diesen wird neben den erwähnten Einschränkungen auch gleich komplett der Zugriff auf das Internet entzogen – natürlich nur bis zur nächsten aktiven Nutzung der App.

    Deepmind hilft aus

    Welche App in welchem "Bucket" landet, wird mithilfe eines neuronalen Netzwerkes von Googles KI-Abteilung Deepmind entschieden. Google betont dabei, dass all das natürlich auch mit einer simplen Heuristik entschieden werden könnte, die eigenen Tests würden aber zeigen, dass man mit solch einem lernenden System bessere Ergebnisse erzielen kann. All diese Berechnungen erfolgen übrigens aus Privacy-Gründen ausschließlich am lokalen Gerät. Die dabei gesammelten Erkenntnisse werden allerdings regelmäßig an die Server von Google übertragen, damit alle Nutzer davon profitieren können. Dieser Ansatz nennt sich Federated Learning, wie das funktioniert und wie Google sicherstellt, dass diese Datensammlung vollständig anonym und nicht rückführbar stattfindet hat das Unternehmen schon vor einiger Zeit in einem Blogeintrag ausgeführt.

    In Googles internen Tests konnte man dank diesem "Adaptive Battery" genannten System die Zahl der Wakeups – also wenn der Prozessor aus dem Schlafzustand gerissen wird – im Schnitt um 30 Prozent reduzieren. Wie viel besser die Akkulaufzeit dann konkret wird, hängt natürlich stark von den Gewohnheiten der einzelnen Nutzer ab. Wer besonders viele Apps installiert hat, wird etwa wesentlich mehr Unterschied bemerken als jemand, der nur wenige ausgewählte Programme nutzt. Genau dies war übrigens auch Ausgangspunkt für die Entwicklung dieses gesamten Systems: Google hatte in Tests bemerkt, dass sich der Stromverbrauch eines Smartphones trotz all der Bemühungen der letzten Jahre noch immer direkt proportional zur Zahl der installierten Apps verhält. Diesen Zustand will man mit Android 9 nun endgültig beenden.

    Wake Locks

    Doch die neue Betriebssystemgeneration widmet sich noch einem weiteren bekannten Problem für die Akkulaufzeit, den sogenannten Wake Locks: Durch Programmierfehler kann es dazu kommen, dass einzelne Apps den Prozessor durchgängig vom Gang in die tiefsten – und stromsparendsten – Schlafmodi abhält. Passiert dies bei Android 9 über einen längeren Zeitraum – konkret stellt eine Stunde die Grenze dar – werden die Nutzer darüber informiert, dass die betreffende App über die Maßen Strom verbraucht. Die User können dann die App entweder deinstallieren oder in ihren Möglichkeiten beschränken. Ebenfalls neu: Das System warnt jetzt vor älteren Apps (vor Target API 26), die besonders viele Hintergrunddienste benutzen, da auch dies üblicherweise in hohen Stromverbrauch reduziert.

    Ein über die Jahre immer wichtiger gewordener Systembestandteil ist der JobScheduler, der sich vereinfacht gesagt darum kümmert, welche App wann was machen darf, und vor allem die Ausführung anstehender Tasks möglichst ressourcenschonend bündelt. Mit Android 9 bezieht der JobScheduler nun auch den Netzwerkzustand in seine Überlegungen ein. Konkret sieht das dann in etwa so aus: Registriert das System, dass die Netzwerkverbindung gerade sehr schlecht ist, werden Apps, die größere Datenübertragungen im Hintergrund vornehmen wollen, gleich gar nicht aufgeweckt. Immerhin würde so eine Aufgabe in solch einem Umfeld dann im besten Fall sehr lange dauern und damit viel Akku verbrauchen – und im schlimmsten Fall gleich gar nicht funktionieren.

    Battery Saver

    Parallel dazu wurde der Battery-Saver-Modus umgestaltet, was vor allem heißt: In diesem werden Apps noch deutlich stärker begrenzt als bisher. So wird nun etwa für Hintergrunddienste komplett der Internetzugang deaktiviert, zudem erhalten Apps bei aktiviertem Battery Saver keinerlei Zugriff mehr auf Standortinformationen, wenn der Bildschirm deaktiviert ist. Außerdem gibt es eine Empfehlung von Google, dass Apps ein dunkles Theme nutzen sollen, wenn der Battery Saver an ist, um bei OLED-Bildschirmen weiter Strom zu sparen. Derzeit tun dies aber leider noch nicht einmal Googles eigene Apps.

    Mindestens so wichtig wie eine möglichst lange Akkulaufzeit ist es, zu wissen, wann der Akku tatsächlich leer sein wird. Auch in dieser Hinsicht wird Android 9 smarter, indem die Schätzung, wie lange das Smartphone noch durchhalten wird, jetzt anhand des eigenen Nutzungsverhaltens vorgenommen wird. Das Gerät lernt also laufend dazu, die Angaben werden mit der Zeit immer genauer.

    screenshots: andreas proschofsky / der standard
    "Adaptive Battery" verspricht deutliche Verbesserungen bei der Akkulaufzeit. Ebenfalls zu sehen: Die neue "Call Logs"-Berechtigung.

    Smarte Helligkeit

    Für die Akkulaufzeit, ist aber auch eine andere Änderung von Android 9 relevant: Die neue Version ändert nämlich die Art wie die automatische Helligkeitsanpassung funktioniert, was vor allem heißt – Überraschung – sie wird smarter. Das Betriebssystem lernt mit der Zeit von den Vorlieben der Nutzer in unterschiedlichen Umgebungsszenarien, und erspart so viele manuelle Anpassungen. Zudem regelt dieser Modus nun die Leuchtstärke in einem dunklen Raum weiter hinunter als bisher. Wer bisher die minimale Helligkeit haben wollte, musste schon auf den manuellen Modus wechseln, das ist jetzt nicht mehr nötig. Ein nettes Detail ist dabei, dass beim Ausschalten des Lichts die Bildschirmhelligkeit nach und nach reduziert wird, anstatt umgehend auf den neuen Wert zu wechseln. Zumindest auf Googles eigenen Geräten ebenfalls neu: Der Helligkeitsregler funktioniert nun logarithmisch und nicht mehr linear. Diverse Dritthersteller machen dies schon bisher so, und zwar zurecht: Ist es so doch wesentlich einfacher Feineinstellungen in den unteren Helligkeitsbereichen vorzunehmen. Die Nutzer müssen sich aber zunächst einmal umgewöhnen, da die Reglerpositionen nicht mehr wie gewohnt sind.

    Bei all dem gilt eine wichtige Einschränkung: Ob die erwähnten "smarten" Features auch jenseits von Googles eigenen Geräten und Smartphones mit Android One ankommen werden, ist längst nicht klar. Im Fall von Adaptive Battery betont Google zwar, dass man das eigene Deep-Learning-Modell anderen Herstellern anbieten wolle, ob diese das auch annehmen, muss sich aber erst zeigen.

    Was bringt's?

    Bleibt die Frage: Wie stark machen sich all diese Optimierungen bemerkbar? Da dies davon abhängt, wie intensiv man das Smartphone nutzt, und wie viele Apps installiert sind, lässt sich dies natürlich nicht generell sagen. Insofern dazu nur ein subjektiver Datenpunkt: Beim Tester zeigte sich auf einem Pixel 2 XL schon im Beta-Test ein Anstieg der typischen Screen-On-Time für eine Akkuladung von vier auf fünf Stunden im Vergleich zu Android 8.1. Ein geradezu verblüffender Wert, der sich wohl sowohl aus den erwähnten Optimierungen an der Softwarebasis als auch der veränderten Helligkeitsregelung ergibt. Trotzdem darf natürlich nicht erwartet werden, dass das bei allen Nutzern so sein wird. Wird etwa die Bildschirmhelligkeit generell sehr hoch gewählt, verblassen schnell andere Faktoren in ihrer Relevanz.

    Privacy

    Den zweiten großen Schwerpunkt in der Entwicklung von Android 9 bildete der Bereich Privatsphäre, Google nimmt mit der neuen Version also einige Änderungen vor, um die Daten seiner Nutzer besser zu schützen. Die wichtigste: Der Zugriff auf Kamera, Mikrofon und Sensoren wird stark eingeschränkt. Apps erhalten nur mehr dann Zugriff auf diese Daten, wenn sie gerade im Vordergrund aktiv sind. Alle Versuche von Hintergrunddiensten auf diese Komponenten zuzugreifen, lässt das Betriebssystem nun ins Leere laufen, und zwar wörtlich: Es werden nämlich einfach leere Daten geliefert, eine komplette Blockade hätte zu Problemen mit alten Apps führen können.

    Natürlich gibt es auch Apps, die aus durchaus legitimen Gründen im Hintergrund auf Mikrofon oder Kamera zugreifen wollen. So wäre es etwa für die Nutzer sehr unerfreulich, wenn der Voice Recorder jedes Mal die Aufnahme unterbricht, wenn man nur schnell kurz die eigenen Notizen durchgehen will. Das ist auch weiter möglich, allerdings muss dies durch eine für den Verlauf der Aufnahme sichtbare Benachrichtigung offengelegt werden. Damit verhindert Android 9 effektiv, dass Apps, die sich einmal die notwendigen Berechtigungen von den Nutzern eingeholt haben, im Hintergrund unbemerkt mitlauschen können – was etwa so manch verunsicherte Facebook-Nutzer beruhigen sollte.

    Call Logs

    Apropos Berechtigungen: Android 9 bringt eine vollständig neue Berechtigungsgruppe. Der Name "Call Log" verrät dabei bereits, worum es geht: Apps die Zugriff auf den Anrufverlauf – oder generell auf Telefonnummern und den Telefonstatus – haben wollen, müssen sich künftig gesondert die Erlaubnis der Nutzer holen. Bisher waren diese Möglichkeiten Teil der "Phone"-Berechtigung, wurden also mit dieser automatisch vergeben. Der Grund für die Reorganisation dürfte in einem vor einigen Monaten viel diskutierten Vorfall zu suchen sein: Damals wurde publik, dass Facebook über zwei seiner Apps den Anrufverlauf seiner User gesammelt hatte. Dabei scheint vielen Nutzern nicht klar gewesen zu sein, dass sie mit der Telefonieberechtigung auch gleich ihren Anrufverlauf weitergeben haben. Die Einführung einer separaten "Call Log"-Berechtigung soll dies nun unmissverständlich machen.

    Eine weitere zentrale Privacy-Verbesserung in Android 9: Jene Backups von Telefonie- und App-Daten, die im Google Drive gespeichert werden, sollen künftig zusätzlich mit dem Lock-Screen-Passwort verschlüsselt werden. Damit hat dann auch Google selbst keinerlei Zugriff mehr auf diese Daten. Ebenfalls neu: Android kann jetzt für jedes WLAN eine eigene, zufällig erstellte MAC-Adresse verwenden. Bisher ließen sich Gerät über diese Hardwareadresse über verschiedene Netzwerke hinweg tracken. In den aktuellen Versionen versteckt Google dieses Feature allerdings noch recht gut, wer es nutzen will, muss dafür erst den entsprechenden Eintrag in den Entwicklereinstellungen aktivieren.

    Standortverschleierung

    Apps, die wissen wollen, wo sich die Nutzer gerade befinden, müssen dafür die passende Location-Berechtigung einholen. So ist es zumindest in der Theorie. In der Praxis finden Entwickler immer wieder andere Wege, zumindest einen groben Standort der User zu erhalten. Einen davon dichtet Google mit Android 9 nun ab: Der Zugriff auf Details zu Mobilfunkmasten im Umfeld eines Smartphone wird nun nur mehr gewährt, wenn die User auch den Standortzugriff erlauben. Bisher konnten solche Informationen alleine über die Telefonie-Berechtigung erhalten werden. Da aber jeder Mobilfunkmast eine eindeutige ID hat, konnte dann über den Abgleich mit einschlägigen Datenbanken ein ungefährer Standort ermittelt werden. Passend dazu sind auch Scans nach offenen WLANs in der Umgebung jetzt nur mehr möglich, wenn die User den Zugriff auf den Standort erlaubt haben – immerhin erlauben diese Informationen sogar eine recht exakte Lokalisierung.

    Viele Apps versuchen weiterhin über den Zugriff auf die Seriennummer eines Smartphones dieses eindeutig zu identifizieren. Diesem Zustand bereitet Google in Android 9 nun endgültig ein Ende: Die Seriennummer wird nur mehr herausgegeben, wenn die User einer App die passende Telefonieberechtigung erteilt haben. An bestehende Apps, die es trotzdem probieren, liefert Android nun einfach einen leeren Wert.

    Security

    Für die Wahrung der Privatsphäre der Nutzer ist aber noch ein anderer Faktor entscheidend: Die Sicherheit eines Systems. Immerhin bringen die besten Privacy-Konzepte wenig, wenn die Software Lücken aufweist, und so Dritte an sensible Nutzerdaten kommen. Insofern ist es äußerst erfreulich, dass die neue Version auch in dieser Hinsicht eine ganze Fülle von Neuerungen bringt.

    Lockdown

    Aus Nutzersicht wohl eine der auffälligsten Neuerungen: Android 9 bringt einen "Lockdown Modus". Dieser ist über das Power-Menü erreichbar und ermöglicht temporär die Fingerprintautorisierung sowie das Entsperren mittels "Smart Lock" – also etwa über ein verbundenes Bluetooth-Gerät – zu blockieren. Beim nächsten Unlock-Vorgang verlangt das Smartphone dann also immer Passwort oder PIN Code. Gedacht ist diese Funktion vor allem für Situationen, wo man sicherstellen will, dass Dritte keinen Zugriff auf die eigenen Daten haben, also etwa beim Grenzübertritt.

    Eine weitere "sichtbare" Verbesserung: In den Sicherheitseinstellungen verwendet Android nun ein Ampelsystem, um die Sicherheit eines Smartphone zu signalisieren. "Grün" gibt es hier nur, wenn das Gerät in den letzten zwei Monaten ein Sicherheitsupdate erhalten hat, danach wird dann auf "Orange" und später auf "Rot" gewechselt, um vor Geräten zu warnen, die zahlreiche bekannte Sicherheitslücken aufweisen. Damit erhöht Google einmal mehr den Druck auf die Hersteller, regelmäßige Updates für ihre Geräte zu liefern.

    Biometrie

    Allen grundlegenden Zweifeln an der Sicherheit von biometrischen Systemen zum Trotz finden diese mittlerweile weite Verbreitung bei Smartphones. Mit Android 9 führt der Hersteller nun einen einheitlichen Dialog für die Fingerabdruckerkennung ein, den Apps selbst integrieren können. Zudem wägt Android nun die Sicherheit einzelner biometrischer Verfahren ab, und zieht daraus entsprechende Konsequenzen. Verwenden die Nutzer etwa eine schwache Form der Gesichtserkennung, wird dann bereits nach vier Stunden Inaktivität wieder nach Passwort oder PIN gefragt, während bei der Nutzung eines guten Fingerprint-Readers dieser Check nur alle drei Tage erfolgt. Zudem sind als unsicher eingestufte, biometrische Verfahren prinzipiell nicht für die Autorisierung von Bezahlvorgängen zugelassen.

    grafik: google
    Android 9 bringt einheitliche Dialoge für die Authentifizierung mittels Fingerabdruck.

    Strongbox

    Einen wichtigen Schritt für die besser Absicherung künftiger Smartphones macht Google mit dem Support für neue Hardwaremodule, die man als "Strongbox" bezeichnet. Diese sind ein Art Weiterentwicklung für jene abgesicherten Bereiche (Trusted Execution Environments / TEEs), die in aktuellen ARM-Prozessoren zu finden sind. Solche Umgebungen zeichnen sich dadurch aus, dass sie vollkommen autark vom eigentlichen Betriebssystem laufen. Selbst wenn ein Angreifer uneingeschränkte Root-Rechte auf einem Smartphone erhält, bekommt er so noch keinen Einblick was in diesem Hochsicherheitsbereich passiert, dafür müsste er noch einmal eine kritische Lücke in dessen eigener Software finden. Während bisherige Lösungen "nur" genutzt werden, um gewisse Basisfunktionen eines Smartphones – etwa durch die Festlegung von Limits für Login-Versuche – besser abzusichern, sollen Strongboxes auch für Dritt-Apps zur Verfügung stehen. All dies ist für Apps gedacht, die eine besonders hohe Sicherheitsanforderungen haben, als Beispiele verwies Google auf seiner Entwicklerkonferenz I/O etwa auf Apps für Insulinpumpen oder auch Bank-Anwendungen.

    Betont sei, dass all dies derzeit noch Zukunftsmusik ist: Die Strongbox-Unterstützung soll ausschließlich für Geräte mit entsprechender Hardware gelten, und zwar nur wenn sie gleich mit Android 9 oder neuer ausgeliefert werden. Wer Google kennt, weiß, dass dies wohl bedeutet, dass die nächste Pixel-Generation einen solchen Hochsicherheitsbereich aufweisen wird.

    Verschlüsselte Kommunikation

    Mit Android 9 wird die Nutzung verschlüsselter Netzwerkverbindungen zur Default-Wahl. App-Entwickler, die unverschlüsselte Verbindungen aufnehmen wollen, müssen dies künftig explizit so auswählen. Damit will man verhindern, dass Apps unabsichtlich unverschlüsselt Daten übertragen, weil die Entwickler versäumt haben, die notwendigen Einstellungen korrekt anzupassen. Dabei gibt es allerdings eine wichtige Einschränkung: Dies Regel gilt nur für jene Apps, die Android 9 als Zielplattform adressieren.

    DNS over TLS

    Doch während der Netzwerkverkehr selbst mittlerweile immer öfter verschlüsselt erfolgt, bleibt derzeit eine entscheidende Lücke: Bevor eine Verbindung zu einer Webseite aufgebaut wird, muss der Domain-Name (also etwa derstandard.at, Anm.) in die im Hintergrund vergebene IP-Adresse aufgelöst werden. Dafür muss das System auf einen Domain Name Server (DNS) zugreifen – und dieser Zugriff erfolgt üblicherweise unverschlüsselt. Dies bedeutet auch, dass jeder, der Zugriff auf die Datenleitung hat – also etwa der Internet Provider – sieht, welche Seiten die User aufrufen. Google schiebt dem nun einen Riegel vor: Android 9 führt "DNS over TLS" ein, entsprechende Anfragen werden also künftig verschlüsselt an den Nameserver übertragen.

    Voraussetzung ist natürlich, dass der genutzte DNS dies auch unterstützt. Aktuell empfehlen sich dabei etwa die öffentlichen DNS von Cloudflare oder Quad9, die beide versprechen keinerlei Aktivitäten ihrer Nutzer mitzuloggen. Angemerkt sei, dass DNS-over-TLS zwar diesen einen Angriffspunkt aushebelt, Provider theoretisch aber noch auf anderem Weg herausfinden können, welche Seiten ihre Nutzer aufrufen, und zwar über die Server Name Indication (SNI) am Anfang eines Verbindungsaufbaus. Wer dies ebenfalls verhindern will, muss zusätzlich zu einer VPN-Verbindung greifen.

    screenshots: andreas proschofsky / der standard
    Drei Security / Privacy-Verbesserungen in Android 9: Der Lockdown-Modus, das Ampelsystem für den Sicherheits-Patch-Level und die Verschlüsselung von DNS-Anfragen (DNS over TLS)

    Filtersystem

    Doch zurück zum eigentlichen Thema: Mit Android 9 beschränkt Google weiter den direkten Zugriff auf die Möglichkeiten des Linux Kernels. Erste Schritte in dieser Richtung wurden bereits mit Android 8 "Oreo" vorgenommen, nun kommen aber weitere dieser "Seccomp"-Filter hinzu. Die Idee ist eine simple: Jegliche nicht von Android benötigten Kernel-Funktionen bieten Angreifern nur eine größere Angriffsfläche. Insofern ergibt es mehr Sinn, über solche Filter den Zugriff darauf zu blockieren.

    Ein wichtiger Punkt in der Absicherung eines Betriebssystems ist die Compiler-Härtung, also die stärker Absicherung jener Tools, die aus dem Quellcode die ausführbaren Binärdateien erzeugen. Unter dem Namen Control Flow Integrity (CFI) hat Google für Android 9 einige Technologien zusammengefasst, die ganze Klassen von Angriffen unmöglich machen sollen. So werden bei damit erstellten Programmen dann etwa Sprünge auf nicht vorgesehene Speicherbereiche unterbunden – was zum kleinen Einmaleins für Angreifer gehört. Die ersten Versuche mit CFI hat Google bereits in Android 8 unternommen, mit Android 9 kommen diese Methoden aber nun in wesentlich mehr Systembestandteilen zum Einsatz – etwa im Media Framework oder auch bei NFC und Bluetooth. Parallel dazu wurden zahlreicher weitere Systembibliotheken gegen Integer-Overflow-Attacken gehärtet.

    Paketsicherheit

    Zur Absicherung des Systems gehört es, die Authentizität von Android Paketen (APKs) sicherzustellen. Immerhin könnte sonst ja jeder einfach ein bestehendes Paket nehmen und mit Schadcode infizieren. Zu diesem Zweck wird jedes APK digital signiert, mit Android 9 gibt es nun eine neue Version dieses APK Signature Scheme – und zwar die Version 3. Diese ermöglicht es Entwicklern nun regelmäßig ihre Schlüssel zu erneuern (Key Rotation), garantiert aber gleichzeitig einen eindeutigen Verlauf, der auf dasselbe Ursprungszertifikat rückführbar ist. Apropos Schlüssel: Mit der neuen Android-Version können Apps nun sicherstellen, dass auf sensible, noch mal extra verschlüsselte Daten nur dann zugegriffen werden kann, wenn das Gerät gerade entsperrt ist.

    Aus für veraltete Apps

    In der Vergangenheit war die Unterstützung aktueller Plattform-Features für App-Entwickler weitgehend optional. Wer etwa um die dynamischen Berechtigung von Android 6 herumkommen will, kann aktuell noch immer einfach das "Target API" seiner App auf eine frühere Version stellen. Solche Tricks haben aber sowohl aus Privacy- als auch Sicherheitssicht negative Konsequenzen, also hat Google schon vor einigen Monaten angekündigt, die diesbezüglichen Regeln deutlich zu verschärfen. Bereits ab August muss jede neue App minimal Android 8 anvisieren, ab November gilt dies auch für Updates. Damit sind die App-Entwickler also verpflichtet – relativ – neue Plattformversionen und die damit einhergehenden strukturellen Verbesserungen zu unterstützen. Betont sei, dass dies keinen Einfluss auf den Support für Geräte mit älteren Betriebssystemversionen hat, dieser wird auch weiterhin problemlos möglich sein.

    Während die oben genannten Änderungen für alle Android-Geräte gelten, bringt Android 9 noch zusätzliche Maßnahmen gegen veraltete Apps mit sich. So können Smartphones künftig eine minimal unterstützte Android-Version definieren. Apps, die für ältere Softwareversionen entwickelt wurden, lassen sich dann auf diesen Geräten einfach nicht mehr installieren. Auch dadurch werden App-Entwickler also unter Druck gesetzt, ihre Apps zu modernisieren.

    Beschränkungen für Entwickler

    Ebenfalls in die Kategorie "Aufräummaßnahmen" fällt eine weitere Neuerung: Mit Android 9 wird der Zugriff auf nicht-öffentliche Systemfunktionen weitgehend abgedreht. App-Entwickler nutzen solche inoffiziellen Methoden gerne, um Beschränkungen der offiziellen Android-Schnittstellen zu umschiffen. Das hat aber eine Schattenseite: Google gibt natürlich nur für die offiziellen APIs eine Stabilitätsgarantie ab, alles andere kann sich laufend ändern. Genau solche Tricks sind es dann auch, die oft dafür verantwortlich sind, dass Apps nach einem Upgrade auf eine neue Android-Generation plötzlich nicht mehr gehen. In Android 9 erlaubt Google jetzt noch einige Ausnahmen von der neuen Regel, diverse Listen umfassen jene inoffiziellen Funktionen, auf die vorerst weiter zugegriffen werden kann. Damit will man verhindern, dass von einem Tag auf den anderen eine ganze Reihe von Apps nicht mehr gehen. Auf Sicht ist die Aussage aber klar: Es sollen nur die offiziellen APIs genutzt werden, und wenn dort etwas konkretes fehlt, was die Entwickler bisher nur auf inoffiziellen Wegen erreichen können, müssen sie sich melden. Mit späteren Android-Versionen wird Google nämlich auch die jetzigen Ausnahmen entfernen.

    Neue APIs

    Apropos Schnittstellen: Android 9 bringt natürlich auch wieder jede Menge Verbesserungen für Entwickler: So ist etwa der Support für Indoor Positionierung via Wifi Round Trip Time RTT – auch 802.11mc genannt – neu hinzugekommen. Geräte mit der passenden Hardware können dann über sie umgebende WLAN Access Points mit einer Genauigkeit von 1-2 Meter innerhalb eines Gebäudes lokalisiert werden. Dies soll etwa für die Navigation innerhalb von Flughäfen oder auch Einkaufszentren genutzt werden.

    Viele aktuelle Android-Smartphones benutzen bereits mehrere Kameras zur Bilderstellung. Mit Android 9 vereinheitlicht Google all dies nun und bietet eine offizielle Schnittstelle für solche Hardware an. Ebenfalls neu sind Schnittstellen für den Zugriff auf Zeitstempel der optischen Bildstabilisierung und für die Nutzung des Displays als Blitzlicht. Auch der Support für externe Kameras – etwa über USB – ist nun fix integriert. Im Bereich Audio/Video fällt vor allem der Support für neue Formate auf: So unterstützt Android 9 nun HEIF, ein noch recht junges Bildformat, das Apple allerdings bereits in den aktuellsten iOS und macOS-Generation integriert hat. Auch ist HDR-Support für VP9-Videocodec hinzugekommen, animierte WebP-Bilder werden jetzt ebenfalls unterstützt. Entwickler dürfen sich auf einen neuen Image Decoder zur Bilddarstellung freuen, der generell einfacher zu nutzen sein soll, dabei aber auch Effekte wie das Abrunden der Ecken eines Bildes oder das Zuschneiden direkt integriert.

    Autofill v2

    Weitere Verbesserungen gab es beim mit Android 8 eingeführten Autofill-Support: So gibt es jetzt einen Kompatibilitätsmodus, über den alte Apps auf diesen neuen Ansatz umgebogen werden. Konkret geht es dabei um Apps, die bisher die Tools zur Barrierefreiheit genutzt haben, um Autofill-Funktionen zu ermöglichen. Dieser Weg hat aber negative Auswirkungen auf die Systemsicherheit, also zwingt Google quasi jetzt auf das neue System. Eine weitere Verbesserung ist, dass der Autofill-Support jetzt auch mit Googles Chrome-Browser zusammenfunktioniert – eine von vielen Nutzern bisher beklagte Lücke.

    grafik: google
    Android P bringt Optimierungen beim Font Rendering.

    Ein paar weitere Neuerungen im Schnelldurchlauf: Es gibt eine neue Version des NeuralNetworks API (1.1), die zusätzliche Funktionen für Maschinenlernaufgaben zur Verfügung stellt. Im Bereich Barrierefreiheit sind ebenfalls einige Verbesserungen zusammengekommen, etwa bei der Unterstützung von Screen Readern. Und ganz generell wurde das System optimiert, um die Ausführung von Kotlin-Code zu beschleunigen. Kotlin wird seit dem Vorjahr als zweite Programmiersprache neben Java offiziell von Google unterstützt. Offiziell als nicht mehr unterstützt bezeichnet wird hingegen die Unterstützung für Wifi Protected Setup, eine mittlerweile als grob unsicher geltende Form der Authentifizierung gegenüber einem Router.

    Kernstück

    Der für die Performance wohl wichtigste Bestandteil eines Android-System ist die Runtime ART, immerhin ist diese für die Ausführung (fast) aller Apps zuständig. Mit Android 9 nimmt Google hier wieder einige Optimierungen vor, die zu schnelleren Startzeiten sowie einem reduzierten RAM-Verbrauch von Apps führen sollen. Ebenfalls beschleunigt wurde die Schriftendarstellung, indem hier nun viele Aufgaben im Hintergrund vorberechnet werden. Dies soll nicht zuletzt die Scroll-Performance weiter verbessern, und potentielle Hänger beim Rendering verhindern.

    Work

    Ein Bereich, in dem Android bisher noch begrenzt erfolgreiche ist, ist die Enterprise-Sparte. Dies will Google natürlich ändern, und verpasst Android Work jede Menge neue Möglichkeiten. So ist nun direkt im Launcher eine Trennung von privaten und Arbeits-Apps in zwei unterschiedliche Ansichten möglich. Zudem ermöglicht der Softwarehersteller mittlerweile bei einigen seiner eigenen Apps den Wechsel zwischen privatem und Arbeitsprofil. Für Unternehmen ebenfalls interessant: Mit Android 9 besteht nun die Möglichkeit anstehende Updates um bis zu 90 Tage zu verzögern, etwa um hier noch etwas Zeit zu haben, um Probleme mit den eigenen Anwendungen auszuräumen. Der Kiosk-Modus wurde ebenfalls verbessert, dank einem neuen Launcher kann hier jetzt automatisiert zwischen mehreren Apps gewechselt werden. Google verweist dabei etwa auf ein Bestellsystem, dass dann in eine separate Bezahl-App wechselt.

    grafik: google
    Private und Arbeitsprofile werden künftig im Launcher getrennt.

    Fazit

    In Summe liefert Google mit Android 9 also wieder eine breite Fülle an Verbesserungen für die Softwarebasis. Für die User sind dabei vor allem die Verbesserungen an der Akkulaufzeit relevant, strukturell sind aber wohl die Umbauten in den Bereichen Privacy und Security noch wichtiger. Insofern bleibt auch die Hoffnung, dass sich Android 9 tatsächlich schneller verbreiten wird als seine Vorgänger – die ersten Anzeichen in diese Richtung sind schon mal sehr vielversprechend. (Andreas Proschofsky, 02.8.2018)

    Share if you care.