À medida que você prepara seu app para Android para ser executado em Chromebooks, precisa considerar os recursos de dispositivo que o app usa. Os Chromebooks não aceitam todos os recursos de software e hardware que estão disponíveis em outros dispositivos que executam Android. Se seu app exigir recursos específicos incompatíveis com os Chromebooks, ele não estará disponível para instalação em Chromebooks.
Você declara os requisitos do seu app para os recursos de hardware e alguns recursos de software no arquivo de manifesto. Este documento descreve as declarações de recurso de manifesto do app que não são compatíveis com Chromebooks.
Entradas incompatíveis do manifesto
As entradas do manifesto listadas nesta seção são incompatíveis com Chromebooks. Se seu app usa algumas dessas entradas, remova-as ou inclua o valor de atributo required="false"
com elas para que seu app seja instalado em Chromebooks. Para ver mais informações sobre como declarar um uso de recurso sem exigir que ele esteja disponível no dispositivo, confira o guia do elemento <uses-feature>
do manifesto. Para ver uma lista completa de descrições e recursos de manifestos do app, consulte a referência de recursos .
Observação: o Android Studio 2.3 e superior tem verificações de botões integrados para validar automaticamente o arquivo de manifesto. No Android Studio, selecione File > Settings > Editor > Inspections > Android > Lint > Correctness > Chrome OS.
Recursos de hardware
A compatibilidade com recursos de hardware varia nos Chromebooks. Alguns recursos não são aceitos em nenhum Chromebook, enquanto outros são compatíveis com alguns.
Recursos especiais
A lista a seguir inclui recursos adicionados para melhor compatibilidade de hardware em Chromebooks:
android.hardware.type.pc
: desativa a emulação de entrada para mouse e touchpad. É necessário indicarrequired="false"
para impedir que só possa ser executado em Chromebooks.
Recursos de hardware incompatíveis
A lista a seguir inclui os recursos de hardware incompatíveis com Chromebooks.
-
android.hardware.camera
: câmera não direcionada ao usuário -
android.hardware.camera.autofocus
: câmera que usa foco automático -
android.hardware.camera.capability.manual_post_processing
: câmera que usa o recursoMANUAL_POST_PROCESSING
, inclusive funcionalidade para substituir o balanço automático de branco -
android.hardware.camera.capability.manual_sensor
: câmera que usa o recursoMANUAL_SENSOR
, inclusive compatibilidade com travamento de exposição automática -
android.hardware.camera.capability.raw
: câmera que usa o recursoRAW
, inclusive a capacidade de salvar arquivos DNG (raw) e fornecer metadados relacionados a DNG -
android.hardware.camera.flash
: câmera que usa flash -
android.hardware.camera.level.full
: câmera que usa compatibilidade com captura de imagem de nívelFULL
-
android.hardware.consumerir
: infravermelho (IR) -
android.hardware.location.gps
: GPS -
android.hardware.nfc
: NFC (Comunicação a curta distância) -
android.hardware.nfc.hce
: emulação de placa NFC (obsoleto) -
android.hardware.sensor.barometer
: barômetro (pressão de ar) -
android.hardware.telephony
: telefonia, inclusive rádio com serviços de comunicação de dados -
android.hardware.telephony.cdma
: compatibilidade com rede de várias divisões de código de telefonia (Telephony Code Division Multiple Access, CDMA) -
android.hardware.telephony.gsm
: compatibilidade com rede de telefonia de sistema global para comunicações móveis (GSM) -
android.hardware.type.automotive
: interface do usuário do Android Auto -
android.hardware.type.television
televisão (obsoleto) -
android.hardware.usb.accessory
: modo de acessório USB -
android.hardware.usb.host
: modo de host USB
Recursos de hardware parcialmente compatíveis
A lista a seguir relaciona os recursos de hardware que podem estar disponíveis em alguns Chromebooks.
-
android.hardware.sensor.accelerometer
: acelerômetro (orientação do dispositivo) -
android.hardware.sensor.compass
: bússola -
android.hardware.sensor.gyroscope
: giroscópio (rotação e giro do dispositivo)) -
android.hardware.sensor.light
: iluminação -
android.hardware.sensor.proximity
: proximidade (ao usuário) -
android.hardware.sensor.stepcounter
: contador de passos -
android.hardware.sensor.stepdetector
: detector de passos
Compatibilidade para hardware com tela touchscreen
Desde o Chrome OS versão M53, todos os apps para Android que não exigem explicitamente o recurso android.hardware.touchscreen
também funcionam em dispositivos Chrome OS compatíveis com o recurso android.hardware.faketouch
. Dispositivos que têm interfaces de toque simuladas fornecem um sistema de entrada de usuário que simula eventos de toque básicos.
Por exemplo: o usuário poderia interagir com um mouse ou controle remoto para mover um cursor na tela, rolar por uma lista e arrastar elementos de uma parte da tela para outra.
Se você não quiser que seu app seja instalado em dispositivos que tenham interfaces de toque simuladas, em vez de touchscreen, realize uma das seguintes ações:
- Exclua dispositivos específicos no Google Play Console.
- Filte dispositivos sem hardware de tela touchscreen declarando explicitamente
android.hardware.touchscreen
como necessário para instalar seu app.
Recursos de software
A lista a seguir relaciona os recursos de software incompatíveis com Chromebooks.
-
android.software.app_widgets
: widgets do app na tela inicial -
android.software.device_admin
: administração de política do dispositivo -
android.software.home_screen
: substitui a tela inicial do dispositivo -
android.software.input_methods
: métodos de entrada personalizados (instâncias deInputMethodService
) -
android.software.leanback
: IU projetada para visualização em telas grandes -
android.software.live_wallpaper
: planos de fundo animados -
android.software.live_tv
: transmissão de programas de TV ao vivo -
android.software.managed_users
: usuários secundários e perfis gerenciados -
android.software.midi
: protocolo MIDI (Musical Instrument Digital Interface), compatível com conexão de instrumentos musicais e a fornecimento de som -
android.software.sip
: serviço SIP (Session Initiation Protocol), compatível com videoconferência e mensagem instantânea -
android.software.sip.voip
: serviço VoIP (Voice Over Internet Protrocol) baseado em SIP, compatível com videoconferência bidirecional
Permissões que sugerem requisitos de recurso
Algumas permissões que você solicita nos arquivos de manifesto podem criar solicitações sugeridas para recursos de hardware e software. Ao solicitar essas permissões, você evitará que seu app seja instalado em Chromebooks.
Para ver mais detalhes sobre como evitar que solicitações de permissão tornem seu app indisponível para Chromebooks, consulte a seção Entradas incompatíveis do manifesto nesta página.
A tabela a seguir mostra as permissões que sugerem certos requisitos de recurso que tornam um app incompatível com Chromebooks:
Tabela 1. Permissões de dispositivo que sugerem recursos de hardware incompatíveis com Chromebooks.
Categoria | Esta permissão... | ... implica este requisito de recurso. |
---|---|---|
Câmera | CAMERA |
android.hardware.camera eandroid.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_SMSREAD_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 |