Supporto dei dispositivi ChromeOS per le app

Puoi utilizzare il Google Play Store per installare app Android su diversi Google Chromebook. Questo documento descrive i Chromebook, i Chromebox e i Chromebase su cui è possibile installare le 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, comprese quelle create con motori di gioco, il chipset nel dispositivo può rappresentare un problema importante.

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

Trendy

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

Kotlin

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

Dimensioni del kit pacchetto Android (APK)

Ogni ABI in un APK monolitico aumenta le sue dimensioni. Ciò può influire sull'utilizzo del disco da parte degli utenti, sulle dimensioni di download dell'app e sui limiti di dimensioni dell'app da parte del Play Store. Il modo migliore per evitarlo è utilizzare gli Android App Bundle.

Gli app bundle consentono di raggruppare facilmente tutte e quattro le ABI da Android Studio senza aumentare le dimensioni di download per gli utenti. Inoltre, consentono di sfruttare facilmente Dynamic Delivery, consentendo agli utenti di scaricare contenuti di giochi di grandi dimensioni solo quando richiesti. Se gli app bundle non sono disponibili, puoi utilizzare il precedente APK multiplo per avere un comportamento simile.

Build a 32 e 64 bit

Tutte le app per Android devono fornire una versione della build a 64 bit. Una build a 32 bit è facoltativa sia per i dispositivi ARM che per quelli x86. Per ulteriori informazioni, consulta la documentazione relativa ad Android a 64 bit.

Oltre a ridurre il numero di target di build necessari e la superficie di test, fornisci solo build a 64 bit, limita anche i tipi di dispositivi su cui è possibile eseguire il tuo gioco. Ad esempio, a causa di altre limitazioni hardware, molti Chromebook meno recenti possono eseguire solo app per Android a 32 bit, nonostante abbiano CPU a 64 bit. Per assicurarti che la tua app possa essere eseguita su questi dispositivi, includi il supporto per la versione a 32 e 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 un'esperienza utente ottimale, fornisci build x86. Se non puoi, includi ABI sia arm32 che arm64 nelle build, perché alcuni Chromebook x86 potrebbero non tradurre il codice arm64.

La traduzione arm32 è disponibile su tutti i Chromebook compatibili con Android, ma non tutti sono in grado di tradurre il codice arm64. Ciò significa che se il tuo gioco ha solo target di build ARM64, non è disponibile per un numero elevato di dispositivi ChromeOS. Se non riesci a fornire programmi binari x86, includi nelle build sia le ABI arm32 che arm64.

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