Compatibilidade do manifesto do app para Chromebooks

Ao preparar seu app Android para ser executado em Chromebooks, considere os recursos do 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 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.

Você declara os requisitos do seu app para os recursos de hardware e determinados 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-as 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 > Correctness > 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 oferecer melhor suporte de hardware em Chromebooks, o android.hardware.type.pc desativa a emulação de entrada para mouse e touchpad. É necessário indicar required="false" para esta entrada, ou o app poderá ser executado apenas em Chromebooks.

Recursos de hardware incompatíveis

A lista a seguir inclui os recursos de hardware não compatí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 suporte ao bloqueio de exposição automática
  • android.hardware.camera.capability.raw: câmera que usa o recurso RAW, incluindo a capacidade de salvar arquivos DNG (brutos) e fornecer metadados relacionados a DNG
  • android.hardware.camera.flash: câmera que usa flash
  • android.hardware.camera.level.full: câmera que usa suporte à 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 acesso múltiplo por divisão de código de telefonia (CDMA, na sigla em inglês)
  • android.hardware.telephony.gsm: suporte à rede de telefonia do Global System for Mobile Communications (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 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 (ao 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 ChromeOS com suporte ao recurso android.hardware.faketouch.

Dispositivos que têm interfaces de toque simuladas oferecem 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 tenham interfaces de toque falsas, e não touchscreen, realize uma das seguintes ações:

Recursos de software

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

  • android.software.app_widgets: widgets de apps na tela inicial
  • android.software.device_admin: administração de políticas de dispositivos
  • 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 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 o 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 de manifesto incompatíveis nesta página.

A tabela abaixo 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 Esta permissão Implica a exigência desse 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