Google mundur dengan mewajibkan OEM mendukung A/B virtual pada perangkat Android 11 baru, yang akan membuka jalan bagi pembaruan yang lancar.
Pembaruan 1 (25/01/2021 @ 14:06 ET): Sebelum rilis Android 11, Google tampaknya telah menarik kembali persyaratan peluncuran perangkat yang mendukung A/B virtual. Klik disini untuk informasi lebih lanjut. Artikel yang diterbitkan pada 7 April 2021 disimpan di bawah.
Dengan Android 7.0 Nougat, Google memperkenalkan skema partisi yang dirancang untuk mempercepat pembaruan perangkat lunak. Di Nougat, Google menambahkan dukungan untuk menduplikasi partisi tertentu sehingga partisi yang tidak aktif dapat diperbarui di latar belakang dan kemudian ditukar menjadi aktif dengan reboot cepat. Ini Pengaturan "partisi A/B" memungkinkan "pembaruan yang lancar" berlangsung di perangkat Android yang didukung, seperti Google Chrome OS. Namun, Google tidak pernah mewajibkan penggunaan partisi A/B, sehingga banyak perangkat di luar sana yang tidak mendukung pembaruan tanpa batas. Namun hal ini bisa berubah dengan Android 11, karena Google mewajibkan perangkat yang baru diluncurkan untuk mendukung partisi A/B virtual.
Sebagai sedikit latar belakang, partisi A/B mengacu pada kumpulan partisi read-only yang diduplikasi. Partisi yang diduplikasi biasanya mencakup partisi sistem, vendor, boot, dan produk. Saat ponsel mengunduh pembaruan, pembaru akan menambal kumpulan partisi yang tidak aktif (satu "slot") di latar belakang. Setelah pembaruan selesai diterapkan pada slot yang tidak aktif, pengguna akan diminta untuk melakukan boot ulang perangkat mereka. Saat pengguna me-reboot perangkatnya, slot yang tidak aktif akan bertukar tempat dengan slot yang aktif, sehingga menyelesaikan proses pembaruan. Slot yang sebelumnya aktif tidak akan tersentuh jika ada masalah saat mem-boot slot yang baru diperbarui. Saat pembaruan berikutnya bergulir, proses ini berulang. Jika Anda tertarik dengan penjelasan yang lebih teknis, lihat dokumentasi pengembang Google pada partisi A/B.
Sebaliknya, perangkat tanpa partisi A/B, seperti Samsung Galaxy S20, OPPO Find X2, dan banyak lainnya, menerapkan pembaruan melalui pembaru khusus dalam proses pemulihan. Hal ini akan mengeluarkan pengguna dari Android dan membuat mereka tidak dapat menggunakan perangkat selama beberapa menit, sehingga berpotensi kehilangan notifikasi, panggilan, atau SMS penting. Google percaya bahwa menyederhanakan proses pembaruan akan membuat lebih banyak orang benar-benar mengambil pembaruan setelah diluncurkan; faktanya, pada bulan Mei 2017, Google menemukan itu persentase pengguna Pixel yang menjalankan update keamanan terbaru lebih tinggi dibandingkan pengguna Nexus. Tentu saja, pengguna dapat menjadwalkan pembaruan agar terjadi saat mereka tidak menggunakan perangkatnya secara aktif, namun banyak pengguna tidak memperbarui perangkatnya bahkan ketika diminta. Selain itu, dengan tidak memiliki partisi A/B, pengguna kehilangan salah satu manfaat yang melekat: melindungi mereka dari pembaruan sistem yang gagal.
Misalnya saja saat Xiaomi pertama kali meluncurkan pembaruan Android 10 untuk Mi A2 Lite, banyak pengguna menemukan bahwa perangkat mereka tidak bisa boot. Untungnya bagi mereka, Mi A2 Lite memiliki partisi A/B untuk pembaruan yang lancar pengguna di forum kami ditemukan bahwa mereka dapat menggunakan perintah fastboot untuk mengatur bootloader agar mem-boot kumpulan partisi yang sebelumnya aktif dan belum tersentuh. Dengan demikian, partisi A/B tidak hanya memberikan proses pembaruan yang jauh lebih cepat kepada pengguna, namun juga bertindak sebagai pengaman bagi pembaruan yang gagal. OEM yang belum menerapkan partisi A/B masih dapat merancang cara mereka sendiri untuk melindungi dari OTA kegagalan, namun mengapa harus mengalami masalah tersebut jika perlindungan ini merupakan bagian dari desain A/B partisi? Untuk referensi Anda, berikut ini sebagian (dan memang sudah ketinggalan jaman) daftar perangkat yang mendukung partisi A/B untuk pembaruan yang lancar, dan inilah tutorialnya cara memeriksa apakah perangkat Anda mendukung fitur tersebut.
Mungkin tampak membingungkan mengapa OEM tertentu menyukainya Samsung mengenakan biaya $1.400 untuk sebuah smartphone tetapi tidak akan menawarkan fitur bagus seperti itu. Alasannya biasanya terletak pada penyimpanan: OEM tidak ingin mengorbankan beberapa gigabyte ruang penyimpanan untuk mendukung pembaruan yang lancar. Ponsel seperti Samsung Galaxy S20 memiliki ton perangkat lunak yang sudah diinstal sebelumnya, jadi menduplikasi partisi seperti /system dan /product akan menyebabkan banyak file dan aplikasi berukuran besar terduplikasi. Google berhasil menerapkan partisi A/B tanpa mengorbankan terlalu banyak ruang penyimpanan berkat trik yang cerdik untuk mengatasi masalah duplikasi file .odex yang sangat besar. Alasan lain mengapa OEM memilih untuk tidak menerapkan partisi A/B adalah biaya: Mengikuti perkembangan Google perubahan konstan pada skema partisi Android memerlukan banyak usaha, seperti yang diakui Pengembang XDA topjohnwu akan memberitahumu. Kecuali jika OEM terpaksa melakukannya, banyak yang tidak mau repot-repot mengubah apa yang sudah sesuai untuk mereka.
Namun pada akhirnya, Google tampaknya akan menetapkan undang-undang di Android 11. Dengan memaksakan penerapan partisi A/B virtual pada perangkat yang baru diluncurkan, mereka yakin bahwa OEM harus mendukung pembaruan yang lancar untuk perangkat mereka pada akhir tahun 2020 dan 2021. Seperti yang ditemukan oleh Pengembang yang Diakui XDA luca020400, Yifan Hong, seorang insinyur perangkat lunak di Google di tim Project Treble, menyerahkan komitmen ke AOSP Gerrit berjudul "Memerlukan Virtual A/B pada peluncuran R." Komit memperbarui Vendor Test Suite, atau VTS, yang merupakan pengujian otomatis yang harus dilewati semua perangkat agar dianggap kompatibel dengan Project Treble. Tes baru memeriksa apakah properti sistem "ro.virtual_ab.enabled
" disetel ke true dan jika "ro.virtual_ab.retrofit
" disetel ke false pada perangkat dengan level API pengiriman 30 atau lebih tinggi. Dengan kata lain, pengujian ini memeriksa apakah perangkat yang diluncurkan dengan Android 11 atau lebih tinggi mendukung partisi A/B virtual. Partisi A/B "Virtual" diperkenalkan dengan Android 10 bersama dengan "partisi dinamis", yang merupakan partisi yang dapat diubah ukurannya secara dinamis. Konsepnya sama dengan partisi A/B biasa, hanya saja ukurannya dapat diubah secara bebas.
Jika perangkat yang diluncurkan dengan Android 11 tidak mendukung partisi A/B virtual, maka VTS akan gagal. Jika perangkat gagal dalam VTS, maka perangkat tidak dapat dikirimkan bersama Layanan Seluler Google. Dengan kata lain, Google telah secara efektif mewajibkan OEM untuk mendukung partisi A/B virtual, dan lebih jauh lagi, pembaruan yang lancar.
Pembaruan: Virtual A/B tidak diperlukan untuk Android 11
Saat kami pertama kali melaporkan pada bulan April bahwa Google mewajibkan semua perangkat peluncuran Android 11 untuk mendukungnya mekanisme pembaruan A/B virtual, ada banyak kegembiraan karena pada akhirnya ponsel Samsung akan mendapatkan pembaruan yang lancar. Sayangnya, ternyata Google memutuskan untuk tidak menjadikan dukungan A/B virtual sebagai persyaratan. Android 11 Dokumen Definisi Kompatibilitas (CDD) saat ini berbunyi "implementasi perangkat HARUS mendukung pembaruan sistem A/B" daripada dukungan "HARUS". Tampaknya sebelum rilis Android 11, Google memutuskan untuk membatalkan keputusannya yang memerlukan dukungan A/B virtual, kemungkinan besar di atas perintah beberapa OEM. Hal ini cukup sering terjadi namun tidak pernah disampaikan kepada publik karena hanya draf akhir CDD yang dipublikasikan on line.