update.zip s are packages containing replacements for parts of an android system. The packages contain all the files it the update is intended to replace, and a script that will do the replacement when its run.

Update.zips can come from OTA updates but in some cases it is necessary to manually download and put an update.zip in some special folder. However, the update.zip is still detected and applied in the same manner.

What part of android detects and handles update.zips?


update.zip are never touched by Android.

Inside that archive is a script that is parsed and interpreted by the Recovery runtime.

The Recovery, at execution, opens the archive by unzipping into a temporary directory, reads the script, aptly named update-script, analyzes it, and based on the syntax, executes a function known to Recovery, that function may do the following, to name but a few:

  • mount /system and other filesystems, and perform read/write file operations including, copying the kernel, or, an apk or even formatting a partition etc
  • check the build.prop for certain properties, such as device, manufacturer, etc
  • print display to the screen, progress information etc

It is pretty much a de-facto standard incorporated into Android Open Source Project (AOSP)

ClockworkMod, TWRP are derivatives of the barebones version that resides in AOSP with additional enhancements, such as touchscreen input.

| improve this answer | |
  • +1 very interesting. So the recovery isn't part of android itself? What does it fall under? Part of Linux, a separate entity? – RossC Feb 22 '14 at 9:38
  • 2
    @RossC The proper Recovery environment, resides on a separate /recovery partition (some manufacturers do not do this for some unknown reason, pseudo recovery) barebones limited Android, depending if stock recovery, limited shell vs CWM/TWRP which packs more, besides, root privileges. A real modder's delight is a device that has the separate partition for recovery. – t0mm13b Feb 22 '14 at 13:44
  • 1
    /recovery doesn't look like a partition. In Linux that's just a directory. It could be a mounted partition - but it's still just a directory. I say this because it's a common misconception I've noticed in Android users. – jcora Feb 22 '14 at 18:47
  • @yannbane - try this,cat /proc/mtd or look at /proc/partitions, its how the bootloader works, if vol dwn is pressed, bootloader reads kernel from /recovery and chain loads it bringing up either stock or custom recovery. It is not linux.... – t0mm13b Feb 22 '14 at 18:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.