Compatibilità del file manifest dell'app per i Chromebook

Mentre prepari la tua app per Android per l'esecuzione su Chromebook, considera le funzionalità del dispositivo che utilizza la tua app. I Chromebook non supportano tutte le funzionalità hardware e software disponibili su altri dispositivi che eseguono Android. Se la tua app richiede funzionalità specifiche non supportate su Chromebook, non sarà disponibile per l'installazione su Chromebook.

Nel file manifest dichiari i requisiti della tua app per le funzionalità hardware e per alcune funzionalità software. Questo documento descrive le dichiarazioni delle funzionalità del file manifest dell'app che non sono compatibili con i Chromebook.

Voci del manifest non compatibili

Le voci del file manifest elencate in questa sezione non sono compatibili con Chromebook. Se la tua app utilizza una di queste voci, valuta la possibilità di rimuoverle o di includere il valore dell'attributo required="false" in modo che l'app possa essere installata su Chromebook.

Per saperne di più sulla dichiarazione dell'utilizzo delle funzionalità senza richiedere che siano disponibili sul dispositivo, consulta la guida per l'elemento manifest <uses-feature>. Per un elenco completo delle funzionalità e delle descrizioni del manifest dell'app, consulta il riferimento alle funzionalità .

Nota: Android Studio dispone di controlli lint integrati per convalidare automaticamente il file manifest. In Android Studio, seleziona File > Impostazioni > Editor > Controlli > Android > Lint > Correttezza > ChromeOS.

Funzionalità hardware

Il supporto delle funzionalità hardware varia sui Chromebook. Alcune funzionalità non sono supportate su nessun Chromebook, mentre altre sono supportate solo su alcuni Chromebook.

Funzionalità speciali

Per un migliore supporto hardware su Chromebook, android.hardware.type.pc disattiva l'emulazione dell'input per mouse e touchpad. Devi indicare required="false" per questa voce, altrimenti la tua app può essere eseguita solo sui Chromebook.

Funzionalità hardware non supportate

Il seguente elenco include le funzionalità hardware non supportate sui Chromebook:

  • android.hardware.camera: fotocamera posteriore
  • android.hardware.camera.autofocus: videocamera che utilizza la messa a fuoco automatica
  • android.hardware.camera.capability.manual_post_processing: videocamera che utilizza la funzionalità MANUAL_POST_PROCESSING, inclusa la funzionalità per ignorare il bilanciamento del bianco automatico
  • android.hardware.camera.capability.manual_sensor: fotocamera che utilizza la funzionalità MANUAL_SENSOR, incluso il supporto per il blocco dell'esposizione automatica
  • android.hardware.camera.capability.raw: fotocamera che utilizza la funzionalità RAW, inclusa la possibilità di salvare file DNG (raw) e fornire metadati correlati ai file DNG
  • android.hardware.camera.flash: fotocamera che utilizza il flash
  • android.hardware.camera.level.full: videocamera che utilizza il supporto per l'acquisizione di immagini di livello FULL
  • android.hardware.consumerir: infrarossi (IR)
  • android.hardware.location.gps: Global Positioning System (GPS)
  • android.hardware.nfc: Near Field Communication (NFC)
  • android.hardware.nfc.hce: emulazione della carta NFC, che è deprecata
  • android.hardware.sensor.barometer: barometro (pressione dell'aria)
  • android.hardware.telephony: telefonia, inclusa la radio con servizi di comunicazione dati
  • android.hardware.telephony.cdma: supporto della rete CDMA (Code Division Multiple Access) per la telefonia
  • android.hardware.telephony.gsm: supporto della rete Global System for Mobile Communications (GSM) per la telefonia
  • android.hardware.type.automotive: Dispositivo Android Automotive OS
  • android.hardware.type.television: televisione, che è deprecata
  • android.hardware.usb.accessory: modalità accessorio USB
  • android.hardware.usb.host: modalità host USB

Funzionalità hardware parzialmente supportate

L'elenco seguente include le funzionalità hardware che potrebbero essere disponibili su alcuni Chromebook:

  • android.hardware.sensor.accelerometer: accelerometro (orientamento del dispositivo)
  • android.hardware.sensor.compass: bussola
  • android.hardware.sensor.gyroscope: giroscopio (rotazione e torsione del dispositivo)
  • android.hardware.sensor.light: luce
  • android.hardware.sensor.proximity: prossimità (all'utente)
  • android.hardware.sensor.stepcounter: contatore passi
  • android.hardware.sensor.stepdetector: rilevatore di passi

Supporto hardware del touchscreen

A partire da ChromeOS versione M53, tutte le app per Android che non richiedono esplicitamente la funzionalità android.hardware.touchscreen funzionano anche sui dispositivi ChromeOS che supportano la funzionalità android.hardware.faketouch.

I dispositivi con interfacce touch false forniscono un sistema di input utente che emula gli eventi touch di base. Ad esempio, l'utente può interagire con un mouse o un telecomando per spostare un cursore sullo schermo, scorrere un elenco e trascinare gli elementi da una parte dello schermo a un'altra.

Se non vuoi che la tua app venga installata su dispositivi con interfacce touch simulate ma non touchscreen, puoi completare una delle seguenti azioni:

Funzionalità software

Il seguente elenco include le funzionalità software non supportate sui Chromebook:

  • android.software.app_widgets: widget delle app nella schermata Home
  • android.software.device_admin: amministrazione delle policy per i dispositivi
  • android.software.home_screen: sostituisce la schermata Home del dispositivo
  • android.software.input_methods: metodi di inserimento personalizzati (istanze di InputMethodService)
  • android.software.leanback: UI progettata per la visualizzazione su schermi di grandi dimensioni
  • android.software.live_wallpaper: sfondi animati
  • android.software.live_tv: streaming di programmi TV in diretta
  • android.software.managed_users: utenti secondari e profili gestiti
  • android.software.sip: servizio Session Initiation Protocol (SIP) che supporta videoconferenze e messaggistica istantanea
  • android.software.sip.voip: Servizio Voice over Internet Protocol (VoIP) basato su SIP, che supporta le videoconferenze bidirezionali

Autorizzazioni che implicano requisiti delle funzionalità

Alcune autorizzazioni richieste nei file manifest possono creare richieste implicite per funzionalità hardware e software. Se richiedi queste autorizzazioni, impedisci l'installazione della tua app sui Chromebook.

Per informazioni dettagliate su come impedire che le richieste di autorizzazione rendano la tua app non disponibile sui Chromebook, consulta la sezione Voci del manifest incompatibili di questa pagina.

La tabella seguente mostra le autorizzazioni che implicano requisiti delle funzionalità che rendono un'app incompatibile con i Chromebook:

Tabella 1. Autorizzazioni del dispositivo che implicano funzionalità hardware incompatibili con i Chromebook.

Categoria Questa autorizzazione Implica questo requisito della funzionalità
Fotocamera CAMERA android.hardware.camera e
android.hardware.camera.autofocus
Telefonia 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