Android Automotive OS ist eine für die Verwendung im Auto optimierte Version von Android, die auf der Android-Kernplattform basiert. In Autos mit Google-Integration läuft Android Automotive OS. Sie sind mit Google-Apps und ‑Diensten wie Google Play, Gemini, Google Assistant und Google Maps ausgestattet.
Android Automotive OS-Hardware
Weitere Informationen zu den Mindesthardwarespezifikationen für Android Automotive OS-Geräte finden Sie im Abschnitt Automotive Requirements (Anforderungen für Automotive) des Android Compatibility Definition Document (CDD) für die Android-Version(en), die Ihre App unterstützt.
Display-Aussparungen
Wie bei anderen Android-Formfaktoren werden Display-Aussparungen von Android Automotive OS-Geräten mit nicht rechteckigen Displays unterstützt. Die Größe und Form von Aussparungen in Autos können sich jedoch erheblich von denen anderer Formfaktoren unterscheiden. Eine detaillierte Anleitung finden Sie unter Mit Fenstereinrückungen und Display-Aussparungen arbeiten.
Audio
Android Automotive OS-Geräte haben in der Regel eine feste Lautstärke. Weitere Informationen dazu, wie sich dies auf Ihre App auswirken kann, finden Sie unter Mit Geräten mit fester Lautstärke arbeiten.
Android Automotive OS-Software
Android Automotive OS basiert zwar auf demselben Betriebssystem wie andere Formfaktoren, es gibt jedoch einige zusätzliche Funktionen, die sich auf die Entwicklung und Verwendung von Apps auswirken können.
System-UI
Es gibt einige Unterschiede in der Funktionsweise dieser System-UI-Elemente in Autos, die Sie kennen sollten.
Navigation
Im Gegensatz zu anderen Formfaktoren müssen Android Automotive OS-Geräte keine Hardware- oder Software-Zurück-Funktion haben. Wenn Aktivitäten nicht im
Kompatibilitätsmodus ausgeführt werden, sollten sie UI
Elemente enthalten, um die In-App-Navigation zu ermöglichen und die AN-1 Qualitäts
richtlinie zu erfüllen.
Layout der Systemleiste
Wie bei anderen Formfaktoren enthält Android Automotive OS Systemleisten wie Statusleisten und Navigationsleisten. In Autos können diese Leisten anders dimensioniert und positioniert sein als bei anderen Formfaktoren. Navigationsleisten können beispielsweise links, rechts oder unten auf dem Bildschirm positioniert sein. Auch wenn oben eine Statusleiste und unten eine Navigationsleiste vorhanden ist (wie bei den meisten Smartphones und Tablets), ist die Größe dieser Elemente in Autos wahrscheinlich viel größer.
Außerdem befinden sich Display-Aussparungen auf Mobilgeräten in der Regel innerhalb der Systemleisten, was in Autos nicht der Fall ist.
Eine detaillierte Anleitung finden Sie unter Mit Fenstereinrückungen und Display-Aussparungen arbeiten.
Immersiver Modus
Mit Android Automotive OS können OEMs festlegen, ob Apps die Systemleisten ein- oder ausblenden können, um in den immersiven Modus zu wechseln oder ihn zu verlassen. Wenn OEMs verhindern, dass Apps die Systemleisten ausblenden, können sie sicherstellen, dass Fahrzeugsteuerungen wie die Klimaanlage immer auf dem Bildschirm zugänglich sind.
Einschränkungen der Nutzerfreundlichkeit
Einschränkungen der Nutzerfreundlichkeit sind eine in Android Automotive OS integrierte Funktion, mit der die Ablenkung des Fahrers berücksichtigt wird. Sie verhindern automatisch die Verwendung von Apps, die nicht für die Verwendung während der Fahrt optimiert wurden.
Die genauen Regeln, die festlegen, wie und wann Einschränkungen der Nutzerfreundlichkeit aktiv sind, werden von den Fahrzeugherstellern festgelegt. Diese Regeln können je nach geografischer Region variieren. So können beispielsweise für dasselbe Fahrzeug, das in Europa verkauft wird, andere Regeln gelten als für Fahrzeuge, die in den USA verkauft werden.
Die Regeln für Einschränkungen der Nutzerfreundlichkeit können auch je nach Display innerhalb eines Fahrzeugs variieren. So kann beispielsweise ein Display in der Mitte des Sichtfelds des Fahrers eingeschränkt sein, während das Fahrzeug in Bewegung ist, während ein Beifahrerdisplay uneingeschränkt bleibt.
Wenn Ihre App an Einschränkungen der Nutzerfreundlichkeit angepasst werden muss, verweisen Sie direkt darauf und versuchen Sie nicht, die Implementierung zu rekonstruieren. Wenn Sie beispielsweise davon ausgehen, dass Einschränkungen der Nutzerfreundlichkeit aktiv sind, wenn der Gang nicht auf „Parken“ steht, schränken Sie möglicherweise unnötigerweise eine App ein, die auf einem Beifahrerdisplay ausgeführt wird.
Ablenkungsoptimierung
Standardmäßig können Aktivitäten nicht ausgeführt werden, wenn Einschränkungen der Nutzerfreundlichkeit aktiv sind, um die Ablenkung des Fahrers zu begrenzen. Wenn Sie dem System mitteilen möchten, dass eine Aktivität
weiter ausgeführt werden soll, während das Fahrzeug in Bewegung ist, kann das folgende <meta-data>
Element innerhalb des entsprechenden <activity> Elements hinzugefügt werden.
<activity ...>
<meta-data android:name="distractionOptimized" android:value="true">
</activity>
Bei der Entwicklung von Apps für Android Automotive OS sollte diese Metadaten
nur dann in Ihrem Manifest vorhanden sein, wenn Sie das Manifest
Element für die CarAppActivity einer App deklarieren, die mit der Car App Library erstellt wurde.<activity>
Keine anderen Aktivitäten sollten als ablenkungsoptimiert gekennzeichnet werden. Andernfalls wird Ihre App bei der Einreichung im Google Play Store abgelehnt.
Bedienungshilfen
Die Unterstützung für Bedienungshilfen für Android Automotive OS ist nicht so umfassend wie bei anderen Formfaktoren. TalkBack, Schalterzugriff und Voice Access sind auf Android Automotive OS-Geräten nicht verfügbar.
Untertitel-Einstellungen werden auf Android Automotive OS-Geräten unterstützt. Weitere Informationen zur Integration finden Sie unter Systemeinstellungen für Untertitel übernehmen.
Netzwerkauswahl
Android Automotive OS unterstützt die Netzwerkauswahl pro Anwendung (Per-application network selection, PANS). Damit können OEMs den Mobilfunknetz-Traffic anwendungsbezogen an verschiedene Netzwerke weiterleiten.
Die meisten Apps verwenden nur das ihnen zugewiesene Standardnetzwerk und profitieren nur von dieser Funktion. So kann der OEM beispielsweise für den Netzwerkverkehr Ihrer App bezahlen, auch wenn der Nutzer keinen eigenen Datentarif hat. Wenn Ihre App (oder eine ihrer Abhängigkeiten) andere Netzwerke als das Standardnetzwerk verwendet, profitiert sie möglicherweise nicht von den vom OEM festgelegten Einstellungen. Weitere Informationen zur Verwendung anderer Netzwerke als des Standardnetzwerks finden Sie unter Netzwerkstatus lesen.
Systemfunktionen
Mit
PackageManager::hasSystemFeature können Sie feststellen, ob eine bestimmte Funktion verfügbar ist, und das Verhalten Ihrer App
entsprechend anpassen.
Hardware-Funktionen
Wie bei anderen nicht mobilen Formfaktoren können sich die in Autos verfügbaren Hardware-Funktionen von denen auf Mobilgeräten unterscheiden.
Bildschirmausrichtung
Wie Fernseher haben auch Autos eine feste Ausrichtung. Im Gegensatz zu Fernsehern sind sie sowohl im Hoch- als auch im Querformat verfügbar. Damit Apps, die für Android Automotive OS entwickelt wurden, auf allen Fahrzeugen verfügbar sind, dürfen sie keine expliziten oder impliziten Anforderungen an die Funktionen android.hardware.screen.landscape oder android.hardware.screen.portrait haben.
Standort des Netzwerks
Viele Android Automotive OS-Geräte implementieren nicht den Telefonie-Stack, der verwendet wird
zur Bereitstellung des Standorts des Netzwerks, und melden daher nicht die
android.hardware.location.network Systemfunktion. Obwohl der Standort des Netzwerks möglicherweise nicht verfügbar ist, wird der Zugriff auf den ungefähren Standort weiterhin unterstützt.
Weitere Informationen finden Sie unter Ungefährer Standort unter Android Automotive OS.
Software-Funktionen
Einige Software-Funktionen, die häufig bei anderen Formfaktoren zu finden sind, werden auf Android Automotive OS-Geräten möglicherweise nicht unterstützt. So sind beispielsweise die folgenden Funktionen auf vielen Android Automotive OS-Fahrzeugen nicht verfügbar:
Funktionsanforderungen von Google Play erfüllen
Damit Apps, die für Android Automotive
OS entwickelt wurden, über Google Play an Autos verteilt werden können, müssen sie in der
AndroidManifest.xml Datei ein <uses-feature> Element für die android.hardware.type.automotive
Funktion enthalten:
<manifest ...>
...
<!--
See Choose a track for Android Automotive OS
for details on how to choose which value to use for the android:required attribute.
-->
<uses-feature
android:name="android.hardware.type.automotive"
android:required="[true|false]">
...
</manifest>
Wenn Ihre App außerdem eine explizite Funktionsdeklaration mit
android:required="true" oder eine implizite Funktionsanforderung für eine der
folgenden Funktionen hat, müssen Sie diese aktualisieren oder entfernen, damit die Funktionsanforderungen Ihrer App die Verteilung auf ansonsten kompatible Fahrzeuge nicht verhindern:
android.hardware.wifiandroid.hardware.screen.portraitandroid.hardware.screen.landscapeandroid.hardware.camera
Für Funktionen, die explizit mit android:required="true" deklariert wurden, haben Sie
folgende Möglichkeiten:
- Löschen Sie das
<uses-feature>-Element, wenn die Funktion nicht anderweitig implizit erforderlich ist. - Deklarieren Sie die Funktion explizit mit
android:required="false".
Für implizit erforderliche Funktionen haben Sie folgende Möglichkeiten:
- Deklarieren Sie die Funktion explizit mit
android:required="false". - Entfernen oder aktualisieren Sie die Manifestwerte, die die implizite Anforderung an die Funktion einführen.
Das Ändern der Funktionsdeklarationen in Ihrem Manifest hat keine Auswirkungen auf die tatsächliche Funktionsweise Ihrer App. Prüfen Sie daher, ob Ihre App auch ohne diese Funktionen ordnungsgemäß funktioniert.
Häufig gestellte Fragen
Welche Fahrzeuge haben Google-Integration?
Eine Liste der OEMs, die Modelle mit Google-Integration anbieten, finden Sie auf der Website Autos mit Google-Integration. Hardwarespezifikationen und andere Gerätedetails finden Sie im Gerätekatalog der Play Console.