DSU Loader di Android 11 membantu developer menguji aplikasi di Android stok

Android 11 akan hadir dengan DSU Loader dalam Opsi Pengembang yang memungkinkan Anda mendownload dan menginstal GSI yang kompatibel secara otomatis! Baca terus untuk lebih lanjut!

Ekosistem aplikasi yang baik adalah salah satu pilar terpenting keberhasilan sistem operasi. Baik Google dan Apple menyadari pentingnya memiliki aplikasi yang bagus di platform mereka, sehingga kedua perusahaan berusaha menyeimbangkan kebutuhan pengguna dan pengembang aplikasi mereka. Pengguna terus mendorong perubahan di OS, dan sementara kebanyakan orang pada umumnya menghargai fitur baru, ini perubahan tidak selalu menyenangkan bagi pengembang aplikasi karena dapat mengubah banyak fungsi inti dan perilaku. Untuk pengembang yang terus berupaya agar aplikasi mereka tetap relevan, menangani perubahan ini menambah daftar kerja mereka yang terus bertambah. Meskipun perubahan ini tidak memengaruhi aplikasi mereka secara langsung, pengembang tetap perlu memastikan bahwa aplikasi mereka akan berfungsi pada pembaruan OS yang baru. Google telah melakukan banyak perubahan selama bertahun-tahun untuk mempermudah proses ini bagi pengembang aplikasi Android, dan sekarang, baru fitur di Android 11, yang disebut DSU Loader, akan mempermudah pengembang aplikasi untuk menguji aplikasi mereka di Android baru versi.

Dimulai dengan Proyek Treble

Project Treble, diperkenalkan di Android 8.0, adalah yang utama merancang ulang OS Android. Tujuan Project Treble adalah untuk membagi OS Android menjadi dua bagian besar: kerangka kerja dan implementasi vendor ("vendor" di sini mengacu pada pembuat komponen perangkat keras berpemilik apa pun yang ditemukan di dalam perangkat, biasanya mengacu pada silikon). Kerangka OS Android adalah sistem operasi itu sendiri, termasuk semua aplikasi sistem, UI dan komponennya, serta API yang digunakan bersama di seluruh perangkat Android. Implementasi vendor berisi vendor HAL (Hardware Abstraction Layers) dan modul kernel Linux dan kernel Linux.

Karena OEM mengirimkan ponsel cerdas dengan banyak komponen perangkat keras berbeda dari banyak vendor berbeda, mereka harus melakukan banyak pekerjaan hanya untuk mengaktifkan dan menjalankan perangkat keras pada satu rilis OS Android. Kemudian dengan setiap pembaruan OS Android baru, mereka harus melakukan lebih banyak pekerjaan untuk memastikan perangkat keras mereka berfungsi dengan versi baru. Tetapi dengan Project Treble menstandarkan ABI (Application Binary Interface) antara framework OS Android dan HAL untuk versi Android tertentu, OEM Android dapat mulai menguji pembaruan ke perangkat mereka tanpa perlu menunggu produsen silikon dan pembuat komponen lain untuk memperbarui sisi mereka. Kode. Perubahan ini terasa dipercepat cara pembaruan Android ditangani.

Itulah inti dari apa yang telah dilakukan Project Treble untuk pembaruan Android, tetapi yang lebih penting untuk aplikasi pengembang di sini adalah bahwa Treble telah mengaktifkan penggunaan Gambar Sistem Generik (GSI) untuk kompatibilitas pengujian.

Munculnya GSI

Agar OEM dapat menguji apakah mereka telah mengimplementasikan Project Treble dengan benar, Google mengamanatkan bahwa OEM harus dapat mem-boot versi Android yang bersih dari AOSP pada perangkat. Versi bersih Android ini disebut Generic System Image, atau GSI. Jika GSI melakukan booting dan sebagian besar perangkat keras dasar berfungsi dengan baik, maka OEM mengetahui bahwa perangkat mereka memenuhi persyaratan Project Treble. Tujuan awal GSI adalah untuk menguji kompatibilitas Treble, tetapi seperti yang telah kita lihat dengan komunitas pengembangan di XDA-Developers, GSI dapat digunakan untuk tujuan lain. Kami melihat bagaimana GSI pada dasarnya memungkinkan perangkat dengan UX Android yang berat untuk menikmati versi terbaru Android dengan fitur yang berfungsi dalam beberapa hari setelah rilis baru. Namun Google membayangkan tujuan lain di balik GSI: memberi pengembang aplikasi kemampuan untuk menguji aplikasi mereka pada versi Android baru di perangkat fisik yang sudah mereka miliki.

Dengan Android 10, Google merilis build GSI-nya sendiri untuk developer. Google mengokohkan gagasan bahwa pengembang aplikasi harus menggunakan GSI untuk mem-boot versi Android yang bersih di perangkat keras mereka sendiri, membuatnya lebih mudah untuk menguji perilaku aplikasi mereka terhadap stok Android. Metode ini dengan demikian ditambahkan ke opsi yang ada untuk menguji kompatibilitas aplikasi pada stok Android tanpa perubahan perilaku OEM, yang lainnya menggunakan smartphone Pixel, menggunakan Android Emulator resmi dalam Android Studio, atau men-deploy build aplikasi ke instance perangkat di cloud.

Terlepas dari semua kemudahan yang dibawa oleh GSI, pemasangannya masih merupakan proses yang tidak praktis. Pengembang aplikasi mungkin tidak nyaman dengan mem-flash gambar sistem secara manual pada perangkat Android karena ini adalah sesuatu yang biasanya hanya diketahui oleh penghobi atau pengembang OS Android. Menginstal GSI memerlukan mem-flash image sistem melalui fastboot, yang mengharuskan menonaktifkan Boot Terverifikasi Android dan membuka kunci bootloader. Membuka kunci bootloader, pada gilirannya, membutuhkan penghapusan data pengguna yang lengkap. Dan seperti yang kita semua tahu, tidak ada satu proses atau panduan untuk membuka kunci bootloader dari setiap perangkat Android di luar sana, jadi tidak ada konsistensi yang dapat ditemukan. Misalnya, perangkat Samsung tidak memiliki fastboot sementara perangkat Xiaomi membuat Anda melewati beberapa rintangan untuk membuka kunci bootloader. Ini adalah kekacauan nyaman yang memiliki potensi untuk diurai menjadi sesuatu yang lebih sederhana.

Di sinilah Pembaruan Sistem Dinamis masuk.

Pembaruan Sistem Dinamis cukup menginstal GSI

Google menyadari bahwa metode penginstalan GSI saat ini bukanlah solusi yang sempurna, jadi mereka mulai mengerjakan solusi yang lebih baik. Di Android 10, Google mulai menguji Pembaruan Sistem Dinamis, atau DSU. DSU adalah cara baru untuk menginstal sementara GSI tanpa perlu menggunakan perintah fastboot untuk mem-flash gambar sistem, menimpa instalasi asli. Dengan DSU, Anda dapat mem-boot ke GSI, menguji aplikasi Anda, lalu dengan mudah mem-boot ulang kembali ke instalasi asli Anda yang tetap tidak tersentuh.

Alasan DSU dapat menginstal GSI tanpa menyentuh penginstalan asli adalah karena DSU membuat image partisi sistem dan data baru yang disimpan sementara di /data/gsi. Gambar-gambar ini kemudian dipasang selama boot daripada sistem asli dan partisi data. Karena ponsel memerlukan ruang penyimpanan tambahan untuk gambar sementara yang baru ini, ponsel Anda harus memiliki "partisi logis", yang merupakan partisi yang dapat diubah ukurannya secara dinamis. Partisi logis adalah sistem partisi ruang pengguna baru untuk Android, yang wajib untuk perangkat yang diluncurkan dengan Android 10. Jika perangkat Anda diluncurkan dengan Android 10, perangkat tersebut harus mendukung penginstalan GSI melalui DSU.

Di Android 10, semua yang perlu Anda lakukan instal GSI melalui DSU adalah mengubah properti sistem dan kemudian meluncurkan DynamicSystemUpdatesInstallationService dengan mengirimkan maksud dengan jalur ke GSI sebagai tambahan maksud.

Meskipun proses ini mungkin tampak asing, ini jauh lebih mudah dan tidak terlalu mengganggu jika dibandingkan dengan menggunakan perintah fastboot dan berurusan dengan segala kerumitan, termasuk instalasi asli, menjadi dihapus. Anda memang membutuhkan pengetahuan tentang ADB dan niat untuk menggunakan DSU, tetapi ini seharusnya tidak menjadi masalah bagi sebagian besar pengembang aplikasi di luar sana. Tetap saja, tidak ada alasan prosesnya tidak bisa dibuat lebih sederhana. Plus, ada fakta bahwa menginstal GSI melalui DSU masih mengharuskan Anda membuka kunci bootloader, menghapus semua data pengguna dalam prosesnya. Untuk itu, Google telah menerapkan perubahan untuk menyempurnakan kedua aspek pemasangan GSI. Di Android 11, mereka menghilangkan kebutuhan untuk menggunakan command line sama sekali untuk menginstal GSI. Secara terpisah, mereka juga memungkinkan untuk memasang GSI tanpa membuka kunci bootloader.

Pemuat DSU di Android 11

DSU Loader adalah alat baru yang hadir di Opsi Pengembang Android 11 yang memungkinkan Anda melakukannya unduh Dan Install GSI terbaru dari Google tanpa perlu memasukkan perintah fastboot atau ADB. Cukup ketuk opsi DSU Loader di dalam Pengaturan dan kotak dialog akan muncul dengan daftar GSI yang didukung langsung dari Google. GSI yang didukung ini akan didasarkan pada OS dan arsitektur Anda saat ini, jadi Anda hanya dapat menginstal GSI yang lebih baru dari versi OS Anda dan yang cocok dengan arsitektur SoC Anda. Cukup pilih GSI yang ingin Anda pasang dan GSI akan diunduh dari server Google dan dipasang di latar belakang secara otomatis.

Pemuat DSU di Android 11

Dengan DSU Loader, developer tidak perlu menyentuh baris perintah untuk menginstal GSI. Setidaknya, itulah impiannya, karena masih ada satu masalah yang harus diselesaikan.

Jalan lurus

Saat ini, untuk menginstal GSI melalui DSU Loader, Anda memerlukan bootloader yang tidak dikunci. Meskipun ini mungkin mengalahkan tujuan dari seluruh cobaan, ini tidak seharusnya seperti ini, dan kami diberitahu bahwa ini akan diperbaiki. Google telah merencanakan agar pengguna dapat mem-boot GSI yang ditandatangani Google melalui DSU tanpa perlu membuka kunci bootloader. Faktanya, Google mengamanatkan itu semua perangkat peluncuran Android 10 menyertakan kunci publik Android Verified Boot GSI Android 10, Android 11, dan Android 12 yang ditandatangani Google. Menyertakan kunci publik AVB di ramdisk perangkat akan memastikan bahwa AVB tidak akan menolak GSI yang Anda coba booting. Inilah sebabnya mengapa metode saat ini melibatkan membuka kunci bootloader - dengan mem-flash image vbmeta kosong ke partisi vbmeta, Anda menonaktifkan AVB sehingga tidak akan menolak GSI yang akan Anda flash. Menonaktifkan AVB adalah risiko keamanan utama, karena itu berarti ada yang diubah partisi system/boot/product/vendor dapat dimuat ke perangkat, itulah sebabnya Google ingin melakukannya jauh dengan persyaratan itu.

Persyaratan Peluncuran Android 10 GSI

Jadi kapan Anda dapat mengharapkan untuk mem-boot GSI melalui DSU tanpa harus membuka kunci bootloader atau menggunakan alat baris perintah apa pun? Mudah-mudahan segera, seperti yang Google sebutkan kepada kami bahwa mereka memiliki beberapa kekusutan untuk diselesaikan dengan Pratinjau Pengembang Android 11 awal sebelum mereka dapat membuat semua ini berfungsi dengan baik. Ke depan, seseorang dapat berharap untuk menginstal GSI Pratinjau Pengembang di masa mendatang melalui DSU tanpa perlu membuka kunci bootloader. Mungkin ketika Pratinjau Pengembang Android 12 tersedia, Anda bahkan dapat mem-boot sepenuhnya dengan menggunakan DSU Loader di Opsi Pengembang Android 11. Untuk pengembang aplikasi, ini berarti akan ada cara lain bagi Anda untuk menguji aplikasi Anda pada perangkat keras fisik yang menjalankan versi Android baru.