Dukungan perangkat ChromeOS untuk aplikasi

Anda dapat menggunakan Google Play Store untuk menginstal aplikasi Android di beberapa Chromebook Google. Dokumen ini menjelaskan tentang Chromebook, Chromebox, dan Chromebase tempat Anda dapat menginstal aplikasi Android.

Ringkasan

Sebagian besar ponsel Android memiliki chipset ARM. Namun, banyak perangkat ChromeOS yang menggunakan chip x86. Perbedaannya tidak penting untuk aplikasi dasar yang ditulis dalam Kotlin atau Java. Namun, untuk aplikasi yang ditulis dalam kode C/C++, termasuk yang dibuat dengan mesin game, chipset dalam perangkat dapat menjadi masalah penting.

Idealnya, semua aplikasi dan game dengan kode C/C++ dikirimkan dengan empat ABI (Antarmuka Biner Aplikasi) Android utama: armeabi-v7a (arm32), arm64-v8a (arm64), x86 (x86_32), dan x86_64. Hal ini memberikan performa terbaik dan konsumsi baterai terendah untuk setiap perangkat. Misalnya, file build.gradle berbasis cmake dapat berisi:

Groovy

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

Kotlin

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

Ukuran Android Package Kit (APK)

Setiap ABI dalam APK monolitik meningkatkan ukurannya. Hal ini dapat memengaruhi penggunaan disk pengguna, ukuran download aplikasi, dan apakah aplikasi terpengaruh oleh batas ukuran Play Store. Cara terbaik untuk menghindari hal ini adalah dengan menggunakan Android App Bundle.

Dengan App Bundle, Anda dapat memaketkan keempat ABI dari dalam Android Studio tanpa meningkatkan ukuran download untuk pengguna. ABI juga membantu Anda memanfaatkan Pengiriman Dinamis, sehingga pengguna dapat mendownload konten game berukuran besar, hanya jika diminta. Jika App Bundle tidak memungkinkan, Anda dapat menggunakan multi-APK yang lama untuk perilaku serupa.

Build 32-bit dan 64-bit

Semua aplikasi Android harus menyediakan versi build 64-bit. Versi 32-bit bersifat opsional untuk perangkat ARM dan x86. Lihat Android 64-bit⁠ untuk mengetahui informasi selengkapnya.

Menyediakan build 64 bit saja tidak hanya akan mengurangi jumlah target build yang diperlukan dan permukaan pengujian, tetapi juga membatasi jenis perangkat yang dapat menjalankan game Anda. Misalnya, karena keterbatasan hardware lainnya, banyak Chromebook versi lama hanya dapat menjalankan aplikasi Android 32-bit, meskipun memiliki CPU 64-bit. Untuk memastikan aplikasi Anda dapat berjalan di perangkat ini, sertakan dukungan 32 dan 64-bit.

Terjemahan ARM

x86 Chromebook mencoba menerjemahkan kode ARM jika memungkinkan, tetapi terjemahan memperlambat performa dan meningkatkan penggunaan baterai. Untuk pengalaman pengguna terbaik, sediakan build x86. Jika tidak, sertakan ABI arm32 dan arm64 dalam build Anda, karena beberapa Chromebook x86 mungkin tidak menerjemahkan kode arm64. Misalnya, karena keterbatasan hardware lainnya, banyak Chromebook versi lama hanya dapat menjalankan aplikasi Android 32-bit, meskipun memiliki CPU 64-bit. Untuk membantu aplikasi Anda berjalan di perangkat ini, sertakan dukungan 32 dan 64-bit.

Meskipun terjemahan arm32 tersedia di semua Chromebook yang mendukung Android, tidak semua Chromebook dapat menerjemahkan kode arm64. Hal ini berarti bahwa jika game Anda hanya memiliki target build arm64, game tidak akan tersedia untuk sejumlah besar perangkat ChromeOS. Jika Anda tidak dapat mengirim biner x86, sertakan ABI arm32 dan arm64 di build Anda.

ABI yang Disertakan Dukungan untuk ChromeOS
arm64 Buruk
arm32 dan arm64 Oke (dengan terjemahan)
arm32, arm64, x86_32, dan x86_64 Terbaik