15

update.zips are packages containing replacements for parts of an Android system. The packages contain all the files the update is intended to replace and a script that will do the replacement when it's 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?

1

1 Answer 1

19

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.

4
  • +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, 2014 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, 2014 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, 2014 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, 2014 at 18:59

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .