App-Manifest-Kompatibilität für Chromebooks

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

Die Anforderungen deiner App an Hardware- und bestimmte Softwarefunktionen deklarierst du 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. Wenn deine App einen dieser Einträge verwendet, solltest du sie entfernen oder den Attributwert required="false" einfügen, damit die App auf Chromebooks installiert werden kann.

Weitere Informationen zur Deklaration der Funktionsnutzung, ohne dass die Funktion auf dem Gerät verfügbar sein muss, findest du in der Anleitung zum Manifestelement <uses-feature>. Eine vollständige Liste der Funktionen und Beschreibungen von App-Manifesten finden Sie in der Referenz zu Funktionen .

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 > Richtigkeit > ChromeOS aus.

Hardwarefunktionen

Die Unterstützung von Hardwarefunktionen ist auf Chromebooks unterschiedlich. Einige Funktionen werden auf keinem Chromebook unterstützt, andere nur auf bestimmten Chromebooks.

Besondere Funktionen

Für eine bessere 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 kann deine App nur auf Chromebooks ausgeführt werden.

Nicht unterstützte Hardwarefunktionen

Die folgende Liste enthält die Hardwarefunktionen, die auf Chromebooks nicht unterstützt werden:

  • android.hardware.camera: Kamera auf der Rückseite
  • android.hardware.camera.autofocus: Kamera mit Autofokus
  • android.hardware.camera.capability.manual_post_processing: Kamera, die die Funktion MANUAL_POST_PROCESSING verwendet, einschließlich der Funktion zum Überschreiben des automatischen Weißabgleichs
  • android.hardware.camera.capability.manual_sensor: Kamera, die die Funktion MANUAL_SENSOR verwendet, einschließlich Unterstützung für die automatische Belichtungssperre
  • android.hardware.camera.capability.raw: Kamera, die die Funktion RAW verwendet, einschließlich der Möglichkeit, DNG-Dateien (Rohdateien) zu speichern und DNG-bezogene Metadaten bereitzustellen
  • android.hardware.camera.flash: Kamera mit Blitz
  • android.hardware.camera.level.full: Kamera, die Unterstützung für die Bildaufnahme auf FULL-Ebene verwendet
  • 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 Funkschnittstelle mit Datenkommunikationsdiensten
  • android.hardware.telephony.cdma: Unterstützung des CDMA-Netzwerks (Telefonie Code Division Multiple Access)
  • android.hardware.telephony.gsm: Unterstützung des Global System for Mobile Communications (GSM) für Telefonie
  • android.hardware.type.automotive: Android Automotive OS-Gerät
  • android.hardware.type.television: „tv“, das eingestellt wird
  • 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 (Gerätedrehung und -drehung)
  • android.hardware.sensor.light: leicht
  • 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, 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 gefälschten Touch-Oberflächen bieten ein Nutzereingabesystem, das grundlegende Touch-Ereignisse emuliert. Der Nutzer kann beispielsweise mit einer Maus oder 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 du nicht möchtest, dass deine App auf Geräten mit gefälschten Touch-Oberflächen, aber nicht mit Touchscreens installiert wird, kannst du 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: Benutzeroberfläche für die Anzeige auf großen Bildschirmen
  • 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: auf SIP basierender Voice Over Internet Protocol-Dienst (VoIP), der bidirektionale Videokonferenzen unterstützt

Berechtigungen, die bestimmte Funktionsanforderungen erfordern

Einige Berechtigungen, die Sie in Ihren Manifestdateien anfordern, können zu impliziten Anfragen für Hardware- und Softwarefunktionen führen. Wenn du diese Berechtigungen anfordert, kannst du verhindern, dass deine App auf Chromebooks installiert wird.

Weitere Informationen dazu, wie du verhindern kannst, dass deine App durch Berechtigungsanfragen auf Chromebooks nicht mehr verfügbar ist, findest du auf dieser Seite im Abschnitt Inkompatible Manifesteinträge.

In der folgenden Tabelle sind die Berechtigungen aufgeführt, aufgrund derer eine App nicht mit Chromebooks kompatibel ist:

Tabelle 1. Geräteberechtigungen, die Hardwarefunktionen andeuten, 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