Compatibilidade do manifesto do app para Chromebooks

Ao preparar seu app Android para ser executado em Chromebooks, considere os recursos de dispositivo que o app usa. Os Chromebooks não oferecem suporte a todos os recursos de hardware e software disponíveis em outros dispositivos que executam o Android. Se o app exigir recursos específicos que não têm suporte em 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 não são compatíveis com Chromebooks. Se o app usar alguma dessas entradas, remova-a ou inclua o valor do atributo required="false" com elas para que o app possa ser 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 conferir uma lista completa de descrições e recursos do manifesto do app, consulte a Referência de recursos .

Observação: o Android Studio 2.3 e versões mais recentes têm verificações de lint integradas para validar automaticamente o arquivo de manifesto. No Android Studio, selecione File > Settings > Editor > Inspections > Android > Lint > Corretoness > ChromeOS.

Recursos de hardware

A compatibilidade com recursos de hardware varia nos Chromebooks. Alguns recursos não têm suporte em nenhum Chromebook, enquanto outros são compatíveis apenas com alguns.

Recursos especiais

Para melhorar o suporte de hardware nos Chromebooks, o android.hardware.type.pc desativa a emulação de entrada para mouse e touchpad. Indique required="false" para essa entrada ou seu app poderá ser executado somente em Chromebooks.

Recursos de hardware incompatíveis

A lista a seguir inclui os recursos de hardware que não têm suporte a Chromebooks:

  • android.hardware.camera: câmera traseira
  • android.hardware.camera.autofocus: câmera que usa autofoco
  • android.hardware.camera.capability.manual_post_processing: câmera que usa o recurso MANUAL_POST_PROCESSING, incluindo a funcionalidade de modificar 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, na sigla em inglês)
  • android.hardware.nfc.hce: emulação de cartão NFC, que foi descontinuada.
  • android.hardware.sensor.barometer: barômetro (pressão de ar)
  • android.hardware.telephony: telefonia, incluindo 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 (CDMA, na sigla em inglês)
  • android.hardware.telephony.gsm: suporte à rede de telefonia do Sistema global para comunicações móveis (GSM)
  • android.hardware.type.automotive: dispositivo Android Automotive OS
  • android.hardware.type.television: televisão, que foi descontinuada
  • android.hardware.usb.accessory: modo de acessório USB
  • android.hardware.usb.host: modo host USB

Recursos de hardware com suporte parcial

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

A partir da versão M53 do ChromeOS, todos os apps Android que não exigem explicitamente o recurso android.hardware.touchscreen também funcionam em dispositivos Chrome OS com suporte ao recurso android.hardware.faketouch.

Dispositivos que têm interfaces de toque falsas fornecem um sistema de entrada do usuário que emula 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 têm interfaces de toque falsas, mas não touchscreens, realize uma das seguintes ações:

Recursos de software

A lista a seguir inclui os recursos de software que não têm suporte a 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 de protocolo de início de sessão (SIP, na sigla em inglês), compatível com videoconferência e mensagens instantâneas
  • android.software.sip.voip: serviço VoIP baseado em SIP, com suporte para videoconferência bidirecional

Permissões que sugerem requisitos de recurso

Algumas permissões solicitadas nos arquivos de manifesto podem criar solicitações implícitas para recursos de hardware e software. Ao solicitar essas permissões, você impede que seu app seja instalado em Chromebooks.

Para saber mais sobre como evitar que solicitações de permissão deixem seu app indisponível em Chromebooks, consulte a seção Entradas incompatíveis de manifesto desta página.

A tabela abaixo mostra as permissões que implicam requisitos de recursos 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 que 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