Wenn du deine Android-App für den Einsatz auf Chromebooks vorbereitest, solltest du dich mit den Gerätefunktionen befassen, die in deiner App verwendet werden. Chromebooks unterstützen nicht alle Hardware- und Softwarefunktionen, die auf anderen Android-Geräten verfügbar sind. Falls für Ihre App bestimmte Funktionen erforderlich sind, die von Chromebooks nicht unterstützt werden, kann sie auf Chromebooks nicht installiert werden.
Die Anforderungen Ihrer App an Hardware- und bestimmte Softwarefunktionen deklarieren Sie in der Manifestdatei. In diesem Dokument werden die Funktionsdeklarationen des App-Manifests beschrieben, die nicht mit Chromebooks kompatibel sind.
Inkompatible Manifesteinträge
Die in diesem Abschnitt aufgeführten Manifesteinträge sind nicht mit Chromebooks kompatibel. Falls deine App einen dieser Einträge verwendet, kannst du sie entweder entfernen oder mit dem Attributwert required="false" versehen, sodass deine App auf Chromebooks installiert werden kann.
Weitere Informationen zum Deklarieren der Funktionsverwendung, ohne dass die Funktion auf dem Gerät verfügbar sein muss, finden Sie im Leitfaden für das <uses-feature>-Manifestelement. Eine vollständige Liste der Funktionen und Beschreibungen der App-Manifeste findest du in der Funktionsreferenz .
Hinweis: Android Studio enthält integrierte Lint-Prüfungen, mit denen die Manifestdatei automatisch validiert wird. Wählen Sie in Android Studio File > Settings > Editor > Inspections > Android > Lint > Correctness > ChromeOS aus.
Hardwarefunktionen
Die Unterstützung von Hardware-Funktionen variiert bei Chromebooks. Einige Funktionen werden von keinem Chromebook unterstützt, während andere nur von bestimmten Chromebooks unterstützt werden.
Besondere Funktionen
Zur besseren Hardware-Unterstützung auf Chromebooks wird mit android.hardware.type.pc die Eingabe-Emulation für Maus und Touchpad deaktiviert. Sie müssen required="false" für diesen Eintrag angeben, da Ihre App sonst nur auf Chromebooks ausgeführt werden kann.
Nicht unterstützte Hardwarefunktionen
Die folgende Liste enthält die Hardwarefunktionen, die auf Chromebooks nicht unterstützt werden:
-
android.hardware.camera: Rückkamera -
android.hardware.camera.autofocus: Kamera mit Autofokus -
android.hardware.camera.capability.manual_post_processing: Kamera, die dieMANUAL_POST_PROCESSING-Funktion verwendet, einschließlich der Funktion zum Überschreiben des automatischen Weißabgleichs -
android.hardware.camera.capability.manual_sensor: Kamera, die dieMANUAL_SENSOR-Funktion verwendet, einschließlich Unterstützung für die automatische Belichtungssperre -
android.hardware.camera.capability.raw: Kamera, die dieRAW-Funktion verwendet, einschließlich der Möglichkeit, DNG-Dateien (RAW-Dateien) zu speichern und DNG-bezogene Metadaten bereitzustellen -
android.hardware.camera.flash: Kamera, die den Blitz verwendet -
android.hardware.camera.level.full: Kamera, die die Bildaufnahme aufFULL-Ebene unterstützt -
android.hardware.consumerir: Infrarot (IR) -
android.hardware.location.gps: Global Positioning System (GPS) -
android.hardware.nfc: Nahfeldkommunikation (NFC) -
android.hardware.nfc.hce: NFC-Kartenemulation, die eingestellt wurde -
android.hardware.sensor.barometer: Barometer (Luftdruck) -
android.hardware.telephony: Telefonie, einschließlich Radio mit Datenkommunikationsdiensten -
android.hardware.telephony.cdma: Unterstützung für das CDMA-Netzwerk (Code Division Multiple Access) für die Telefonie -
android.hardware.telephony.gsm: Unterstützung für das Global System for Mobile Communications (GSM)-Netzwerk für die Telefonie -
android.hardware.type.automotive: Android Automotive OS-Gerät -
android.hardware.type.television: Fernsehen (eingestellt) -
android.hardware.usb.accessory: USB-Zubehörmodus -
android.hardware.usb.host: USB-Hostmodus
Teilweise unterstützte Hardwarefunktionen
Die folgende Liste enthält Hardwarefunktionen, die auf einigen Chromebooks verfügbar sein können:
-
android.hardware.sensor.accelerometer: Beschleunigungsmesser (Geräteausrichtung) -
android.hardware.sensor.compass: Kompass -
android.hardware.sensor.gyroscope: Gyroskop (Gerätedrehung und -verdrehung) -
android.hardware.sensor.light: Hell -
android.hardware.sensor.proximity: Nähe (zum Nutzer) -
android.hardware.sensor.stepcounter: Schrittzähler -
android.hardware.sensor.stepdetector: Schrittzähler
Unterstützung für Touchscreen-Hardware
Ab ChromeOS-Version M53 funktionieren alle Android-Apps, für die die Funktion
android.hardware.touchscreen nicht explizit erforderlich ist, auch auf ChromeOS-Geräten, die die Funktion
android.hardware.faketouch unterstützen.
Geräte mit unechten Touch-Oberflächen bieten ein Nutzereingabesystem, das grundlegende Touch-Ereignisse emuliert. Der Nutzer kann beispielsweise mithilfe einer Maus oder einer Fernbedienung einen Cursor auf dem Bildschirm bewegen, durch eine Liste scrollen und Elemente von einem Teil des Bildschirms in einen anderen ziehen.
Wenn Sie nicht möchten, dass Ihre App auf Geräten mit Fake-Touch-Oberflächen, aber ohne Touchscreens installiert wird, haben Sie folgende Möglichkeiten:
- Schließen Sie bestimmte Geräte in der Google Play Console aus.
- Filtere Geräte ohne Touchscreen-Hardware, indem du
android.hardware.touchscreenexplizit als erforderlich für die Installation deiner App deklarierst.
Softwarefunktionen
Die folgende Liste enthält die Softwarefunktionen, die auf Chromebooks nicht unterstützt werden:
-
android.software.app_widgets: App-Widgets auf dem Startbildschirm -
android.software.device_admin: Verwaltung von Geräterichtlinien -
android.software.home_screen: ersetzt den Startbildschirm des Geräts -
android.software.input_methods: benutzerdefinierte Eingabemethoden (Instanzen vonInputMethodService) -
android.software.leanback: Benutzeroberfläche für die Anzeige auf großen Bildschirmen -
android.software.live_wallpaper: Animierte Hintergrundbilder -
android.software.live_tv: Streaming von Live-TV-Programmen -
android.software.managed_users: sekundäre Nutzer und verwaltete Profile -
android.software.sip: Session Initiation Protocol (SIP)-Dienst, der Videokonferenzen und Instant Messaging unterstützt -
android.software.sip.voip: Voice over Internet Protocol (VoIP)-Dienst auf Basis von SIP, der bidirektionale Videokonferenzen unterstützt
Berechtigungen, die Funktionsanforderungen implizieren
Einige Berechtigungen, die Sie in Ihren Manifestdateien anfordern, können implizite Anforderungen an Hardware- und Softwarefunktionen zur Folge haben. Wenn Sie diese Berechtigungen anfordern, kann Ihre App auf Chromebooks nicht mehr installiert werden.
Einzelheiten dazu, wie du verhindern kannst, dass deine App aufgrund von Berechtigungsanforderungen auf Chromebooks nicht verfügbar ist, findest du im Abschnitt Inkompatible Manifesteinträge auf dieser Seite.
In der folgenden Tabelle sind die Berechtigungen aufgeführt, die Funktionsanforderungen implizieren, die eine App mit Chromebooks inkompatibel machen:
Tabelle 1. Geräteberechtigungen, die Hardwarefunktionen implizieren, die nicht mit Chromebooks kompatibel sind.
| Kategorie | Diese Berechtigung | Impliziert diese Funktionsanforderung |
|---|---|---|
| Kamera | CAMERA |
android.hardware.camera undandroid.hardware.camera.autofocus
|
| Telefonie | CALL_PHONE |
android.hardware.telephony |
CALL_PRIVILEGED |
android.hardware.telephony |
|
MODIFY_PHONE_STATE |
android.hardware.telephony |
|
PROCESS_OUTGOING_CALLS |
android.hardware.telephony |
|
READ_SMS |
android.hardware.telephony |
|
RECEIVE_SMS |
android.hardware.telephony |
|
RECEIVE_MMS |
android.hardware.telephony |
|
RECEIVE_WAP_PUSH |
android.hardware.telephony |
|
SEND_SMS |
android.hardware.telephony |
|
WRITE_APN_SETTINGS |
android.hardware.telephony |
|
WRITE_SMS |
android.hardware.telephony |