App-Manifest-Kompatibilität für Chromebooks

Berücksichtige bei der Vorbereitung deiner Android-App für die Ausführung auf Chromebooks die von der App genutzten Gerätefunktionen. Chromebooks unterstützen nicht alle Hardware- und Softwarefunktionen, die auf anderen Android-Geräten verfügbar sind. Wenn für Ihre App bestimmte Funktionen erforderlich sind, die von Chromebooks nicht unterstützt werden, kann sie nicht auf Chromebooks installiert werden.

Die Anforderungen Ihrer App an Hardwarefunktionen und bestimmte Softwarefunktionen sind in der Manifestdatei angegeben. 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. Wenn deine Anwendung einen dieser Einträge verwendet, solltest du sie entfernen oder den Attributwert required="false" einfügen, damit deine App auf Chromebooks installiert werden kann.

Weitere Informationen dazu, wie Sie die Nutzung der Funktion deklarieren, ohne dass die Funktion auf dem Gerät verfügbar sein muss, finden Sie in der Anleitung für das Manifestelement <uses-feature>. Eine vollständige Liste der Funktionen und Beschreibungen der App-Manifeste finden Sie in der Funktionsreferenz .

Hinweis: Android Studio 2.3 und höher verfügt über integrierte Lint-Prüfungen, um die Manifestdatei automatisch zu validieren. Wählen Sie in Android Studio Datei > Einstellungen > Editor > Inspektionen > Android > Lint > Korrektheit > ChromeOS aus.

Hardware-Funktionen

Die Unterstützung für Hardwarefunktionen variiert auf Chromebooks. Einige Funktionen werden auf keinem Chromebook unterstützt, andere werden nur auf bestimmten Chromebooks unterstützt.

Besondere Funktionen

Zur besseren Hardwareunterstützung auf Chromebooks deaktiviert android.hardware.type.pc die Eingabeemulation für Maus und Touchpad. Du musst für diesen Eintrag required="false" angeben. Andernfalls läuft deine App nur auf Chromebooks.

Nicht unterstützte Hardwarefunktionen

Die folgende Liste enthält die Hardwarefunktionen, die von 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 die MANUAL_POST_PROCESSING-Funktion verwendet, einschließlich der Funktion zum Überschreiben des automatischen Weißabgleichs
  • android.hardware.camera.capability.manual_sensor: Kamera, die die MANUAL_SENSOR-Funktion nutzt, einschließlich Unterstützung für die automatische Belichtungssperre
  • android.hardware.camera.capability.raw: Kamera, die die RAW-Funktion verwendet, einschließlich der Möglichkeit, DNG-Dateien (Rohdateien) zu speichern und DNG-bezogene Metadaten bereitzustellen
  • android.hardware.camera.flash: Kamera mit Blitzlicht
  • android.hardware.camera.level.full: Kamera, die FULL-Level-Unterstützung für die Bildaufnahme verwendet
  • android.hardware.consumerir: Infrarot (IR)
  • android.hardware.location.gps: GPS-System (Global Positioning System)
  • android.hardware.nfc: Nahfeldkommunikation (NFC)
  • android.hardware.nfc.hce: NFC-Kartenemulation (eingestellt)
  • android.hardware.sensor.barometer: Barometer (Luftdruck)
  • android.hardware.telephony: Telefonie, einschließlich Funk mit Datenkommunikationsdiensten
  • android.hardware.telephony.cdma: Unterstützung von CDMA-Netzwerken (Telefonie Code Division)
  • android.hardware.telephony.gsm: Unterstützung von GSM-Netzwerken (Telefonie Global System for Mobile Communications)
  • android.hardware.type.automotive: Android Automotive OS-Gerät
  • android.hardware.type.television: „TV“ (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 möglicherweise auf einigen Chromebooks verfügbar sind:

  • android.hardware.sensor.accelerometer: Beschleunigungsmesser (Geräteausrichtung)
  • android.hardware.sensor.compass: Kompass
  • android.hardware.sensor.gyroscope: Gyroskop (Drehung und Drehen des Geräts)
  • android.hardware.sensor.light: hell
  • android.hardware.sensor.proximity: Nähe (zum Nutzer)
  • android.hardware.sensor.stepcounter: Schrittzähler
  • android.hardware.sensor.stepdetector: Schritterkennung

Unterstützung für Touchscreen-Hardware

Ab ChromeOS-Version M53 funktionieren alle Android-Apps, die die Funktion android.hardware.touchscreen nicht explizit benötigen, 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. Sie können beispielsweise mit einer Maus oder einer Fernbedienung interagieren, um einen Cursor auf dem Bildschirm zu bewegen, durch eine Liste zu scrollen und Elemente von einem Teil des Bildschirms in einen anderen zu ziehen.

Wenn Sie nicht möchten, dass Ihre App auf Geräten mit gefälschten Touchoberflächen, aber ohne Touchscreens installiert wird, können Sie eine der folgenden Aktionen ausführen:

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 von InputMethodService)
  • android.software.leanback: Für einen großen Bildschirm entwickelte UI
  • android.software.live_wallpaper: Animierte Hintergründe
  • android.software.live_tv: Live-TV-Programme streamen
  • android.software.managed_users: sekundäre Nutzer und verwaltete Profile
  • android.software.sip: SIP-Dienst (Session Initiation Protocol), der Videokonferenzen und Instant Messaging unterstützt
  • android.software.sip.voip: VoIP-Dienst (Voice over Internet Protocol), der auf SIP basiert und Zwei-Wege-Videokonferenzen unterstützt

Berechtigungen, die Anforderungen an die Funktion implizieren

Einige Berechtigungen, die Sie in Ihren Manifestdateien anfordern, können implizite Anfragen für Hardware- und Softwarefunktionen verursachen. Wenn du diese Berechtigungen anforderst, kann deine App nicht auf Chromebooks installiert werden.

Wie du verhindern kannst, dass durch Berechtigungsanfragen deine App auf Chromebooks nicht mehr verfügbar ist, erfährst du im Abschnitt Inkompatible Manifesteinträge auf dieser Seite.

Die folgende Tabelle zeigt die Berechtigungen, die bestimmte Funktionsanforderungen implizieren, die dazu führen, dass eine App nicht mit Chromebooks kompatibel ist:

Tabelle 1. Geräteberechtigungen, die Hardwarefunktionen einschließen, die nicht mit Chromebooks kompatibel sind.

Kategorie Diese Berechtigung Impliziert diese Funktionsanforderung
Kamera CAMERA android.hardware.camera und
android.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