Supporto dei dispositivi ChromeOS per le app

Puoi utilizzare il Google Play Store per installare app Android su diversi Chromebook. Questo documento descrive i Chromebook, i Chromebox e Chromebase su cui è possibile installare app Android.

Panoramica

La maggior parte degli smartphone Android è dotata di chipset ARM. Tuttavia, molti dispositivi ChromeOS utilizzano chip x86. La differenza non è importante per le app di base scritte in Kotlin o Java. Tuttavia, per le app scritte in codice nativo, incluse quelle create con giochi di ricerca, il chipset nel dispositivo può costituire un problema importante.

Idealmente, tutte le app e i giochi con codice nativo includono tutti e quattro i principali dispositivi Android. ABI (Application Binary Interfaces): armeabi-v7a (arm32), arm64-v8a (arm64), x86 (x86_32) e x86_64. Ciò garantisce le migliori prestazioni e il consumo della batteria minimo per ogni dispositivo. Ad esempio, build.gradle basato su cmake potrebbe contenere:

Alla moda

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

Kotlin

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

Dimensioni dell'APK (Android Package Kit)

Ogni ABI in un APK monolitico ne aumenta le dimensioni. Ciò può influire l'utilizzo del disco da parte degli utenti, le dimensioni di download dell'app e se l'app è interessata in base ai limiti di dimensioni del Play Store. Il modo migliore per evitare che ciò accada è utilizzare Android App Bundle.

App bundle ti consentono di raggruppare facilmente tutte e quattro le ABI da Android Studio senza aumentare dimensioni di download per i tuoi utenti. Inoltre, semplificano l'uso di Dynamic Delivery, consentendo agli utenti di scaricare grandi contenuti di gioco solo quando richiesto. Se non è possibile usare gli App Bundle puoi utilizzare l'APK multiplo precedente un comportamento simile.

Build a 32 e 64 bit

Tutte le app per Android devono fornire una versione build a 64 bit. La build a 32 bit è facoltativa sia per ARM sia per x86. Vedi la documentazione per Android a 64 bit documentazione⁠ per saperne di più.

Mentre fornire solo build a 64 bit riduce il numero di destinazioni di build necessarie e i tuoi di test, ma limita anche i tipi di dispositivi su cui è possibile eseguire il tuo gioco. Per Ad esempio, a causa di altre limitazioni hardware, molti Chromebook meno recenti supportano solo dispositivi Android a 32 bit. anche se hanno CPU a 64 bit. Per assicurarti che la tua app possa essere eseguita su questi dispositivi, includi sia a 32 che a 64 bit.

Traduzione ARM

I Chromebook x86 cercano di tradurre il codice ARM quando è possibile, ma la traduzione rallenta le prestazioni e aumenta l'utilizzo della batteria. Per l'utente migliore la tua esperienza, fornisci build x86. Se non puoi, includi entrambe le ABI arm32 e arm64 nelle le tue build, perché alcuni Chromebook x86 potrebbero non tradurre il codice arm64.

Sebbene la traduzione arm32 sia disponibile su tutti i Chromebook con funzionalità Android, non su tutti i Chromebook può tradurre il codice arm64. Ciò significa che se il gioco ha solo target di build ARM64, non è disponibile per un numero elevato di dispositivi ChromeOS. Se non puoi spedire I file binari x86 includono le ABI arm32 e arm64 nelle tue build.

ABI incluse Supporto per ChromeOS
Arm64 Scadente
arm32 e arm64 OK (con traduzione)
arm32, arm64, x86_32 e x86_64 Migliore