Generic System Image (GSI)

Generic System Image (GSI) merupakan implementasi Android murni dengan kode Proyek Open Source Android (AOSP) tanpa dimodifikasi, yang dapat dijalankan di berbagai perangkat Android.

Developer aplikasi dapat menginstal dan menjalankan GSI Android terbaru untuk melakukan pengujian aplikasi di berbagai perangkat Android yang ada, serta menggunakan GSI dari berbagai tahap rilis Android OS, termasuk build Pratinjau Developer dan Beta. Menambahkan GSI ke proses verifikasi dan pengujian dapat memberikan beberapa manfaat tambahan:

  • Cakupan pengujian yang lebih luas pada kumpulan perangkat sungguhan yang lebih banyak
  • Lebih banyak waktu untuk memperbaiki masalah kompatibilitas aplikasi
  • Lebih banyak peluang untuk memperbaiki masalah kompatibilitas di Android yang dilaporkan oleh developer aplikasi

Project GSI bersifat open source dan membantu meningkatkan ekosistem Android dengan menyediakan lebih banyak cara untuk meningkatkan kualitas aplikasi dan OS sebelum setiap rilis Android.

Dukungan GSI di seluruh perangkat
Gambar 1: GSI dapat diinstal di berbagai perangkat, dan terkadang bahkan untuk versi Android dari produsen perangkat yang tidak menyediakan image sistemnya sendiri.

GSI menyertakan fungsi sistem inti yang sama untuk semua perangkat tempatnya diinstal. Dengan kata lain, GSI tidak menyertakan penyesuaian produsen perangkat. Oleh karena itu, Anda mungkin menemukan perbedaan perilaku dalam situasi berikut:

  • Interaksi yang melibatkan UI
  • Alur kerja yang meminta fitur hardware yang lebih baru

Memeriksa kesesuaian perangkat

GSI hanya dapat berfungsi pada perangkat dengan karakteristik berikut:

  • Bootloader tidak terkunci.
  • Mematuhi persyaratan Treble sepenuhnya.
  • Diluncurkan dengan Android 9 (API level 28) atau versi lebih tinggi. Perangkat yang diupgrade ke Android 9 dari versi sebelumnya mungkin mendukung atau tidak mendukung GSI.

Untuk mengetahui apakah perangkat Anda dapat menggunakan GSI, dan untuk menentukan versi OS GSI mana yang harus diinstal, lakukan langkah berikut:

  1. Periksa dukungan Treble dengan menjalankan perintah berikut:

    adb shell getprop ro.treble.enabled

    Jika responsnya false, artinya perangkat tidak kompatibel dengan GSI dan Anda tidak perlu melanjutkan. Jika responsnya true, lanjutkan ke langkah berikutnya.

  2. Periksa dukungan lintas versi dengan menjalankan perintah berikut:

    adb shell cat /system/etc/ld.config.version_identifier.txt \
    | grep -A 20 "\[vendor\]"

    Pada output, cari namespace.default.isolated di bagian [vendor].

    Jika nilai untuk atribut tersebut true, artinya perangkat sepenuhnya mendukung Vendor Native Development Kit (VNDK) dan dapat menggunakan semua versi sistem operasi (OS) GSI yang lebih baru dari versi OS yang ada di perangkat. Jika memungkinkan, gunakan versi GSI OS terbaru yang tersedia.

    Jika nilai untuk atribut tersebut false, artinya perangkat tidak sepenuhnya memenuhi persyaratan VNDK dan perangkat hanya dapat menggunakan GSI untuk versi OS di perangkat yang sama. Misalnya, perangkat Android 10 (API versi 29) yang tidak memenuhi persyaratan VNDK hanya dapat memuat image GSI Android 10.

  3. Jenis arsitektur CPU GSI harus sesuai dengan arsitektur CPU perangkat. Untuk menemukan arsitektur CPU yang tepat untuk image GSI, jalankan perintah berikut:

    adb shell getprop ro.product.cpu.abi

    Gunakan output guna menentukan image GSI mana yang akan digunakan untuk melakukan flash pada perangkat. Misalnya, pada Pixel 5, output-nya akan menunjukkan bahwa arsitektur CPU adalah arm64-v8a, sehingga Anda harus menggunakan GSI jenis arm64.

Mendownload GSI

Ada beberapa cara untuk mendapatkan GSI, bergantung pada kebutuhan pengembangan Anda:

Menginstal GSI

Menginstal GSI bergantung pada perangkat. Anda dapat merujuk pada produsen perangkat untuk prosedur dan fitur yang tepat. Untuk perangkat Google Pixel seperti Pixel 3 dan yang lebih baru, ada beberapa cara penginstalan:

Beri masukan

GSI dimaksudkan untuk membantu Anda memvalidasi aplikasi di Android. Kami mengharapkan masukan Anda terkait image, alat, dan proses dalam menggunakan GSI di perangkat Anda.

Untuk melaporkan bug atau menyampaikan permintaan fitur, gunakan komponen issue tracker khusus untuk GSI.

Referensi lainnya