Tidak ada kode tanpa kesalahan. Peter Norton berkata: "Ada tempat di museum untuk kode yang ideal: segala macam barang antik dihargai di sana." Dan untuk memperbaiki kesalahan - ada pembaruan.
Saya ingin membagikan pandangan saya tentang pembaruan dari sudut pandang pengembang runtime Android. Bagian dari tim besar kami terletak di Rusia, saya terlibat dalam subsistem Java, mengoptimalkan mesin virtual dan memperbaiki masalah kecil. Area tanggung jawab kami adalah segalanya di atas inti dan di bawah aplikasi. Kami ingin mencapai efisiensi aplikasi maksimum, termasuk efisiensi energi. Ini adalah divisi dari Samsung yang tidak terlihat oleh pengguna, tetapi sangat penting, karena kesalahan pada lapisan ini menyebabkan perilaku yang salah dari banyak aplikasi.
Hari ini kita akan berbicara tentang bagaimana pembaruan sistem Android saat ini bekerja, apa pendapat para vendor tentang hal ini, dan apa tren baru yang diamati di tahun-tahun mendatang. Serta kiat untuk pengguna: seberapa sering memperbarui, tambalan apa yang harus dipasang dan bagaimana membantu pengembang menemukan bug lebih cepat.

Sumber -
xkcdCara memperbarui
Ada masalah, yaitu sejumlah besar pengguna, ternyata, tidak memperbarui telepon mereka sama sekali setelah pembelian. Banyak kesalahan tidak akan terjadi jika pengguna memperbarui telepon mereka tepat waktu. Beberapa tahun yang lalu, pembaruan tidak dilakukan sesering itu, itu perlu untuk menaruh banyak tanda centang, secara berkala klik tombol pembaruan. Sekarang dalam versi modern Android semuanya sangat sederhana, cukup centang kotak ketika membeli telepon, dan itu akan diperbarui.
Jika Anda mematikan pembaruan, maka kami tidak menerima koreksi kesalahan kritis. Ya, aplikasi individual dapat diperbarui melalui Google Play, tetapi kesalahan serius, terutama dalam keamanan, tetap tidak dikoreksi, dan beberapa orang yang belum menekan tombol ini atau tidak tahu bagaimana melakukan ini terus mengeluh tentang kesalahan aplikasi.
Selain itu, momen ini cukup menarik bagaimana vendor dapat memengaruhi penggunaan hanya gambar OS terbaru. Misalnya, perangkat Samsung selama beberapa tahun terakhir memiliki fitur seperti Rollback Prevention: sekering perangkat keras yang menyandikan versi OS yang paling tidak dapat diterima. Versi yang lebih lama mungkin mengandung kerentanan yang diketahui, jadi Anda tidak bisa mengunduh OS lama ke ponsel Anda.
Pembaruan Perusahaan
Pasar B2B memiliki karakteristiknya sendiri. Di sana Anda dapat memperbarui hanya pada rekomendasi dan di bawah panduan ketat departemen TI dan IS. Perusahaan, pengguna perlu mendengarkan dengan seksama rekomendasi layanan TI, dan layanan TI untuk menggunakan solusi untuk meminimalkan risiko. Misalnya,
Samsung Knox E-FOTA .

Di sana fungsinya adalah:
- Perbarui daftar perangkat tertentu secara selektif
- Kontrol daftar firmware yang digunakan oleh perusahaan
- Waktu untuk memperbarui sesuai dengan jadwal kerja
Akan seperti apa pembaruan di masa mendatang
Sekarang ada kecenderungan ke arah modularisasi Android. Dalam jangka panjang, Google sedang mengembangkan sistem operasi baru Fuchsia, itu masih cukup kasar, tetapi prinsip-prinsip yang ditetapkan di sana sudah perlahan-lahan pindah ke Android. Salah satunya adalah modularisasi. Dari sistem operasi monolitik, beberapa komponen menonjol yang dapat diperbarui secara mandiri melalui Google Play, seperti halnya aplikasi. Google mengambil langkah ini karena mereka juga tidak senang dengan situasi ketika orang tidak melakukan pembaruan, ditambah lagi mereka mencoba mengurangi fragmentasi perangkat mereka sehingga komponennya tidak terlalu terikat pada vendor dan lebih ke Google. Rata-rata pengguna tidak tahu apa itu Android Runtime dan berkata, "Apakah Anda ingin mengunduh versi Android Runtime yang baru?" terlihat agak konyol. Karenanya, Google memperkenalkan sistem pembaruan yang tidak terlihat. Pada prinsipnya, sudah ada sejak lama, misalnya, untuk GMS (Layanan Seluler Google), sistem ini didasarkan pada plugin, dan di sana plugin diperbarui secara tak terlihat. Google menerapkan prinsip yang sama untuk komponen Android dasar. Artinya, pada titik tertentu kita akan mendapatkan sistem operasi yang jarang memperbarui kernel, tetapi pada kenyataannya itu akan sering diperbarui di subsistemnya. Anda bahkan tidak perlu me-restart telepon. Sekarang adalah masa transisi. Sistem monolitik memiliki pro dan kontra (kita ingat kontroversi antara Torvalds dan Tanenbaum 27 tahun yang lalu), tetapi sekarang Google telah pergi ke arsitektur mikrokernel dan memperbarui komponen secara independen.
Pengembang aplikasi ingin memiliki sistem yang stabil dan lebih sedikit fragmentasi. Tetapi ini tidak selalu merupakan nilai tambah bagi produsen ponsel, karena mengurangi fragmentasi menyebabkan diferensiasi yang lebih sedikit, karena kita tidak dapat lagi menerapkan optimasi baru dalam komponen ini jika pembaruan berasal dari Google Play. Ini adalah sisi lain dari koin. Dan pengguna akan segera dibebaskan dari kebutuhan untuk memikirkan apakah ia perlu memperbarui komponen ini atau itu. Di masa depan, Google akan membuat sistem sedemikian rupa sehingga jika Anda membeli telepon dan menghubungkan Google Play, maka Anda secara otomatis berlangganan semua pembaruan.
Bagaimana cara membantu pengembang
Umpan balik dari pengguna sangat penting, Anda perlu mencentang kotak untuk mengirimkannya secara otomatis. Beberapa masalah dapat diselesaikan hanya dengan pembaruan kecil dari sistem operasi. Berdasarkan umpan balik, Samsung memutuskan apa yang perlu diperbaiki dan apa yang tidak memuaskan pengguna, misalnya, melacak waktu mulai aplikasi - tentu saja, jika orang tersebut setuju untuk mengirim data ini dan mencentangnya.
Jadi, untuk meringkas, apa yang kami, sebagai pengembang, harapkan dari pengguna:
- Pastikan untuk menginstal pembaruan keamanan, dan lakukan segera
- Kirim umpan balik dan jangan ragu melaporkan bahwa ada sesuatu yang tidak berfungsi
- Jika Anda adalah pengguna korporat, maka ikuti aturan yang diadopsi oleh perusahaan Anda
Diposting oleh: Ivan Maidansky,
Insinyur Perangkat Lunak Ahli
AI Compiler Lab
Pusat Penelitian Samsung di Rusia