Compatibilità del file manifest dell'app per i Chromebook

Mentre prepari la tua app per Android per l'esecuzione sui Chromebook, valuta le funzionalità dei dispositivi utilizzate dall'app. I Chromebook non supportano tutte le funzionalità hardware e software disponibili su altri dispositivi con sistema operativo Android. Se la tua app richiede funzionalità specifiche non supportate sui Chromebook, non potrà essere installata sui Chromebook.

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

Voci manifest incompatibili

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

Per ulteriori informazioni su come dichiarare l'utilizzo della funzionalità senza richiederne la disponibilità sul dispositivo, consulta la guida per l'elemento manifest <uses-feature>. Per un elenco completo delle funzionalità e delle descrizioni del file manifest dell'app, consulta la documentazione di riferimento sulle funzionalità .

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

Funzionalità hardware

Il supporto per le 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 sui 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 su 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: fotocamera che utilizza la messa a fuoco automatica
  • android.hardware.camera.capability.manual_post_processing: videocamera che usa la funzionalità MANUAL_POST_PROCESSING, inclusa la funzionalità per eseguire l'override del bilanciamento automatico del bianco
  • android.hardware.camera.capability.manual_sensor: videocamera che usa la funzionalità MANUAL_SENSOR, incluso il supporto del blocco dell'esposizione automatica
  • android.hardware.camera.capability.raw: videocamera che utilizza la funzionalità RAW, inclusa la possibilità di salvare file DNG (non elaborati) e di fornire metadati relativi a DNG
  • android.hardware.camera.flash: fotocamera che utilizza il flash
  • android.hardware.camera.level.full: fotocamera che utilizza il supporto per l'acquisizione di immagini a livello di FULL
  • android.hardware.consumerir: infrarossi (IR)
  • android.hardware.location.gps: sistema di posizionamento globale (GPS)
  • android.hardware.nfc: Near Field Communication (NFC)
  • android.hardware.nfc.hce: emulazione di carte NFC, che è stata ritirata
  • android.hardware.sensor.barometer: barometro (pressione dell'aria)
  • android.hardware.telephony: telefonia, anche radio con servizi di comunicazione dati
  • android.hardware.telephony.cdma: supporto della rete CDMA (telephony Code Division)
  • android.hardware.telephony.gsm: supporto della rete Global System for Mobile Communications (GSM) di telefonia
  • android.hardware.type.automotive: dispositivo con sistema operativo Android Automotive
  • android.hardware.type.television: televisione, obsoleta
  • android.hardware.usb.accessory: modalità accessorio USB
  • android.hardware.usb.host: modalità host USB

Funzionalità hardware parzialmente supportate

Il seguente elenco include 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 rotazione del dispositivo)
  • android.hardware.sensor.light: chiaro
  • android.hardware.sensor.proximity: prossimità (all'utente)
  • android.hardware.sensor.stepcounter: contapassi
  • android.hardware.sensor.stepdetector: rilevatore di passi

Supporto hardware touchscreen

A partire dalla versione M53 di ChromeOS, 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 che hanno 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 elementi da una parte all'altra dello schermo.

Se non vuoi che la tua app venga installata su dispositivi che dispongono di interfacce tattili false 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 dei criteri relativi ai dispositivi
  • android.software.home_screen: sostituisce la schermata Home del dispositivo
  • android.software.input_methods: metodi di immissione 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 SIP (Session Initiation Protocol), che supporta le videoconferenze e la messaggistica immediata
  • android.software.sip.voip: servizio Voice Over Internet Protocol (VoIP) basato su SIP, che supporta videoconferenze bidirezionali

Autorizzazioni che implicano requisiti delle funzionalità

Alcune autorizzazioni richieste nei file manifest possono creare richieste implicite per le funzionalità hardware e software. Richiedendo queste autorizzazioni, impedisci l'installazione dell'app sui Chromebook.

Per informazioni dettagliate su come impedire alle richieste di autorizzazione di rendere non disponibile la tua app sui Chromebook, consulta la sezione Voci 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 Applica 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