Compatibilidade do manifesto do app para Chromebooks

Ao preparar seu app para Android para ser executado em Chromebooks, considere os recursos de dispositivo que ele usa. Os Chromebooks não são compatíveis com todos os recursos de software e hardware disponíveis em outros dispositivos que executam o Android. Se o app exigir recursos específicos incompatíveis com os Chromebooks, ele não estará disponível para instalação nesses dispositivos.

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 não são compatíveis com Chromebooks. Se o app usa alguma dessas entradas, remova-as ou inclua o valor de atributo required="false" com elas para que o app seja instalado em Chromebooks.

Para mais informações sobre como declarar um uso de recurso sem exigir que ele esteja disponível no dispositivo, consulte 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 tem verificações de lint integradas para validar automaticamente o arquivo de manifesto. No Android Studio, selecione File > Settings > Editor > Inspections > Android > Lint > Correctness > ChromeOS.

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

Para melhorar a compatibilidade de hardware em Chromebooks, o android.hardware.type.pc desativa a emulação de entrada para mouse e touchpad. Você precisa indicar required="false" para essa entrada. Caso contrário, o app só poderá 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 traseira
  • android.hardware.camera.autofocus: câmera que usa foco automático
  • android.hardware.camera.capability.manual_post_processing: câmera que usa o recurso MANUAL_POST_PROCESSING, incluindo a funcionalidade de substituir o balanço automático de branco
  • android.hardware.camera.capability.manual_sensor: câmera que usa o recurso MANUAL_SENSOR, incluindo compatibilidade com travamento de exposição automática
  • android.hardware.camera.capability.raw: câmera que usa o recurso RAW, incluindo 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ível FULL
  • android.hardware.consumerir: infravermelho (IR)
  • android.hardware.location.gps: Sistema de Posicionamento Global (GPS)
  • android.hardware.nfc: comunicação a curta distância (NFC)
  • android.hardware.nfc.hce: emulação de cartão NFC, que está obsoleta
  • android.hardware.sensor.barometer: barômetro (pressão atmosférica)
  • android.hardware.telephony: telefonia, incluindo rádio com serviços de comunicação de dados
  • android.hardware.telephony.cdma: compatibilidade com rede de Acesso múltiplo por divisão de código de telefonia (CDMA, na sigla em inglês)
  • android.hardware.telephony.gsm: compatibilidade com rede de telefonia de sistema global para comunicações móveis (GSM)
  • android.hardware.type.automotive: dispositivo Android Automotive OS
  • android.hardware.type.television: televisão, que está descontinuada
  • 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 inclui 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: claro
  • android.hardware.sensor.proximity: proximidade (do usuário)
  • android.hardware.sensor.stepcounter: contador de passos
  • android.hardware.sensor.stepdetector: detector de passos

Compatibilidade para hardware com tela touchscreen

Desde a versão M53 do ChromeOS, todos os apps para Android que não exigem explicitamente o recurso android.hardware.touchscreen também funcionam em dispositivos ChromeOS 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 pode 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 falsas, em vez de touchscreen, realize uma das seguintes ações:

Recursos de software

A lista a seguir inclui os recursos de software que não são compatíveis com Chromebooks:

  • android.software.app_widgets: widgets de apps 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 de InputMethodService)
  • android.software.leanback: IU projetada para visualização em telas grandes
  • android.software.live_wallpaper: planos de fundo animados
  • android.software.live_tv: streaming de programas de TV ao vivo
  • android.software.managed_users: usuários secundários e perfis gerenciados
  • 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 (Voz sobre IP) 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ê evita que seu app seja instalado em Chromebooks.

Para 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 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 Essa permissão Implica este requisito de recurso
Câmera 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