资源描述:
《源码制作ROM》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Buildupdate.zipfromyourownandroidsourcecode1.2.3.4.5.6.7.8.在Android21-update1版本中一个最基本的updatezip包的结构如下2.一个系统更新updatezip包的制作步骤在一台ubuntupc上做的实验如有命令缺失请自行安装本文介绍如何从一个已经编译好的android源码树中提取一个update.zip所需要的所有资源,从而最终构建一个可以在androidrecovery模式下刷机的update.zip包.在介绍之前,我们先假定你已经有了一个编译好的android源码树
2、myandroid. 在Android2.1-update1版本中,一个最基本的update.zip包的结构如下: .
3、--META-INF
4、 `--com
5、 `--google
6、 `--android
7、
8、--update-binary
9、 `--updater-script `—system·update-binary :二进制文件,相当于一个脚本解释器,能识别updater-script中描述的操作。该文件由myandroid/out/target/product/YOU_PRODUCT/s
10、ystem/bin/updater 重命名所得。具体用什么名字是由myandroid/bootable/recovery/install.c文件中的宏ASSUMED_UPDATE_BINARY_NAME的值而定.·updater-script :该文件需要自己根据更新包需要更新的内容自行编写.具体用什么名字是由myandroid/bootable/recovery/updater/updater.c文件中的宏SCRIPT_NAME的值而定.(注意:是updater-script,而不是update-script).·system :
11、 该目录下放需要更新的内容.比如,如果你只是需要添加几个系统软件,则在此目录下添加一个app目录,然后把待添加的系统软件copy进来即可.如果你是要制作一个系统更新包.那myandroid/out/target/product/YOU_PRODUCT/system/中的所有文件copy到这个目录里来.一个系统更新update.zip包的制作步骤(在一台ubuntupc上做的实验,如有命令缺失,请自行安装)1.$mkdirupdate#在任意目录下,创建一个叫update的目录2.$cdupadte #进入该目录3.$mkdir–pMETA-I
12、NF/com/google/android/ && mkdirsystem #在update目录下,创建2个子目录4.$cpmyandroid/out/target/product/YOU_PRODUCT/system/bin/updater META-INF/com/google/android/update-binary#获取update-binary文件5.$cpmyandroid/out/target/product/YOU_PRODUCT/system/system/ #获取更新系统MTD所需要的文件6.$cpmyandroid/ou
13、t/target/product/YOU_PRODUCT/boot.img./#获取更新系统boot区域所需要的文件.这个boot.img=kernel+ramdisk7.$vimMETA-INF/com/google/android/updater-script#打开updater-script脚本,开始编写更新过程.(下文详述)1.$zipupdate.zip-r./META-INF/./system/./boot.img#编辑完updater-script脚本后,把update内的所有内容打成一个update.zip包.2.$java–ja
14、r---签名---#使用java对update.zip包进行签名(下文详述)·updater-script脚本的编写(解释步骤7)updater-script的内容其实为一行一行update-binery能识别的命令序列.文件myandroid/bootable/recovery/update/install.c末尾描述了所有可执行命令.下面介绍部分命令的使用实例:·omount:eg:mount(“MTD”,“system”,“/system”);挂在MTD的system分区到文件系统的/system目录下.· oui_print:eg: ui
15、_print(“Helloword!”);在屏幕上打印提示信息.· oformat:eg: format(“MTD”,“system”)