Bagaimana cara kerja update.zip?

14

update.zip s adalah paket yang berisi penggantian untuk bagian dari sistem android. Paket berisi semua file yang ingin diganti oleh pembaruan, dan skrip yang akan melakukan penggantian saat dijalankan.

Update.zips dapat berasal dari pembaruan OTA tetapi dalam beberapa kasus perlu mengunduh dan menempatkan update.zip secara manual di beberapa folder khusus. Namun, pembaruan.zip masih terdeteksi dan diterapkan dengan cara yang sama.

Bagian mana dari Android yang mendeteksi dan menangani update.zips?

enthdegree
sumber

Jawaban:

18

update.zip tidak pernah tersentuh oleh Android.

Di dalam arsip itu adalah skrip yang diuraikan dan ditafsirkan oleh runtime Pemulihan.

Pemulihan, saat dieksekusi, membuka arsip dengan membuka ritsleting ke direktori sementara, membaca skrip, menamai dengan tepat update-script, menganalisisnya, dan berdasarkan pada sintaksis, menjalankan fungsi yang dikenal untuk Pemulihan, fungsi tersebut dapat melakukan hal berikut, untuk memberi nama tetapi beberapa:

  • mount /systemdan sistem file lainnya, dan melakukan operasi baca / tulis file termasuk, menyalin kernel, atau apk atau bahkan memformat partisi dll
  • periksa build.propproperti tertentu, seperti perangkat, pabrikan, dll
  • cetak tampilan ke layar, kemajuan informasi dll

Ini adalah standar de-facto yang tergabung dalam Android Open Source Project (AOSP)

ClockworkMod, TWRP adalah turunan dari versi barebones yang berada di AOSP dengan perangkat tambahan tambahan, seperti input layar sentuh.

t0mm13b
sumber
+1 sangat menarik. Jadi pemulihan itu bukan bagian dari Android itu sendiri? Apa yang termasuk di dalamnya? Bagian dari Linux, entitas yang terpisah?
RossC
2
@RossC Lingkungan Pemulihan yang tepat, berada di /recoverypartisi yang terpisah (beberapa produsen tidak melakukan ini karena alasan yang tidak diketahui, pemulihan semu) barebone Android terbatas, tergantung jika pemulihan stok, shell terbatas vs CWM / TWRP yang lebih banyak mengemas, selain itu, hak istimewa root . Kegembiraan modder nyata adalah perangkat yang memiliki partisi terpisah untuk pemulihan.
t0mm13b
1
/recoverytidak terlihat seperti partisi. Di Linux itu hanya direktori. Itu bisa berupa partisi yang dipasang - tetapi masih berupa direktori. Saya mengatakan ini karena itu adalah kesalahpahaman umum yang saya perhatikan pada pengguna Android.
jcora
@yannbane - coba ini, cat /proc/mtdatau lihat /proc/partitions, ini cara bootloader bekerja, jika vol dwn ditekan, bootloader membaca kernel dari /recoverydan memuat rantai yang memunculkan pemulihan stok atau kustom. Ini bukan linux ....
t0mm13b