Compatibilidade do manifesto do app para Chromebooks

À 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 indicar required="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 recurso MANUAL_POST_PROCESSING, inclusive funcionalidade para substituir o balanço automático de branco
  • android.hardware.camera.capability.manual_sensor: câmera que usa o recurso MANUAL_SENSOR, inclusive compatibilidade com travamento de exposição automática
  • android.hardware.camera.capability.raw: câmera que usa o recurso RAW, 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ível FULL
  • 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.televisiontelevisã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:

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 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: 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 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_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