Suporte a dispositivos ChromeOS para apps

Você pode usar a Google Play Store para instalar apps Android em vários Chromebooks Google. Este documento descreve os Chromebooks, Chromeboxes e Chromebases em que você pode instalar apps Android.

Visão geral

A maioria dos smartphones Android tem chipsets ARM. No entanto, muitos dispositivos ChromeOS usam chips x86. A diferença não é importante para apps básicos escritos em Kotlin ou Java. No entanto, para apps escritos em código nativo, incluindo aqueles criados com mecanismos de jogos, o chip no dispositivo pode ser uma preocupação importante.

O ideal é que todos os apps e jogos com código nativo tenham os quatro principais apps Android ABIs (interfaces binárias de aplicativo): armeabi-v7a (arm32), arm64-v8a (arm64), x86 (x86_32) e x86_64. Isso proporciona o melhor desempenho e o menor consumo de bateria para cada dispositivo. Por exemplo, uma build.gradle baseada no cmake. pode conter:

Groovy

externalNativeBuild {
    cmake {
        abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
    }
}

Kotlin

externalNativeBuild {
    cmake {
        abiFilters("armeabi-v7a", "arm64-v8a", "x86", "x86_64")
    }
}

Tamanho do pacote do Android (APK)

Cada ABI em um APK monolítico aumenta tamanho dele. Isso pode afetar o uso de disco dos usuários, o tamanho do download e se o app foi afetado pelos limites de tamanho da Play Store. A melhor maneira de evitar isso é usar os Android App Bundles.

Pacotes de apps permitem agrupar facilmente as quatro ABIs a partir do Android Studio, sem aumentar o de tamanho de download para seus usuários. Além disso, facilitam o uso do Dynamic Delivery, permitindo que os usuários façam o download de conteúdos de jogos grandes somente quando solicitados. Se os pacotes de apps não forem uma possibilidade poderá usar o vários APKs mais antigo para um comportamento semelhante.

Builds de 32 e 64 bits

Todos os apps Android precisam oferecer uma versão de build de 64 bits. Um build de 32 bits é opcional para dispositivos ARM e x86. Consulte a documentação do Android de 64 bits documentation⁠ para mais informações.

Embora a disponibilização somente de builds de 64 bits reduza o número de destinos necessários e a superfície de teste, ela também limita os tipos de dispositivos que podem executar o jogo. Para Por exemplo, devido a outras limitações de hardware, muitos Chromebooks mais antigos só podem executar o Android de 32 bits mesmo tendo CPUs de 64 bits. Para garantir que seu app possa ser executado nesses dispositivos, inclua compatibilidade com 32 e 64 bits.

Tradução de ARM

Os Chromebooks x86 tentam traduzir o código ARM sempre que possível, mas a tradução diminui o desempenho e aumenta o uso da bateria. Para que o melhor usuário experiência, forneça builds x86. Se não for possível, inclua as ABIs arm32 e arm64 no seus builds, porque alguns Chromebooks x86 podem não traduzir código arm64.

Embora a tradução arm32 esteja disponível em todos os Chromebooks compatíveis com Android, nem todos eles pode traduzir código arm64. Isso significa que, se o jogo só tiver destinos de build arm64, mas não está disponível para muitos dispositivos ChromeOS. Se não for possível enviar binários x86, inclua ABIs arm32 e arm64 nas seus builds.

ABIs incluídas Suporte para o ChromeOS
arm64 Ruim
arm32 e arm64 OK (com tradução)
arm32, arm64, x86_32 e x86_64 Melhor