Compatibilità del file manifest dell'app per i Chromebook

Mentre prepari la tua app Android per l'esecuzione sui Chromebook, tieni conto delle funzionalità del dispositivo 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 sarà disponibile per l'installazione sui Chromebook.

Dichiari i requisiti della tua app relativi alle funzionalità hardware e ad alcune funzionalità software nel file manifest. Questo documento descrive le dichiarazioni relative alle 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 di includere il valore dell'attributo required="false" 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 dispongono 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 delle funzionalità hardware varia in base ai Chromebook. Alcune funzionalità non sono supportate su nessun Chromebook, mentre altre sono supportate solo su alcuni.

Funzionalità speciali

Per un migliore supporto hardware sui Chromebook, android.hardware.type.pc disabilita 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 che non sono 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 utilizza la funzionalità MANUAL_POST_PROCESSING, inclusa la funzionalità per l'override del bilanciamento del bianco automatico
  • android.hardware.camera.capability.manual_sensor: videocamera che utilizza la funzionalità MANUAL_SENSOR, incluso il supporto del blocco automatico dell'esposizione
  • android.hardware.camera.capability.raw: videocamera che utilizza la funzionalità RAW, inclusa la possibilità di salvare file DNG (non elaborati) e 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 GPS
  • android.hardware.nfc: Near Field Communication (NFC)
  • android.hardware.nfc.hce: emulazione della carta NFC, che è stata ritirata
  • 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 per rete CDMA (telephony Code Division)
  • android.hardware.telephony.gsm: supporto per rete Global System per le comunicazioni mobili (GSM) di telefonia
  • android.hardware.type.automotive: dispositivo con sistema operativo Android Automotive
  • android.hardware.type.television: televisione, che è stata ritirata
  • 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: debole
  • 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 Chrome OS che supportano la funzionalità android.hardware.faketouch.

I dispositivi dotati di interfacce touch false offrono un sistema di input utente che emula eventi di tocco 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 con interfacce touch finte ma non touchscreen, puoi completare una delle seguenti azioni:

Funzionalità software

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

  • android.software.app_widgets: widget 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: programmi TV in diretta in streaming
  • 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 le videoconferenze bidirezionali

Autorizzazioni che implicano requisiti per le funzionalità

Alcune autorizzazioni richieste nei file manifest possono generare richieste implicite per funzionalità hardware e software. Richiedendo queste autorizzazioni, impedirai che la tua app venga installata sui Chromebook.

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

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

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

Categoria Questa autorizzazione Implica questo requisito di 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