1 升级包的制作
基本命令:
Ø makeMtk [project[flavor]] new –编译整个项目
Ø makeMtk [project[flavor]] otapackage –编译otapackage
Ø /build/tools/releasetools/ota_from_target_files –n –i oldotapackage newotapackage update.zip –制作差分包
生成的otapackage为整包,update.zip为差分包,这两个包拷贝到SD卡上,进入recovery模式后便可以进行升级了。–n –i 这两个是编译差分包的参数,-n是忽略UTC时间戳对版本升级的限制,-i是生成的差分包。因为整包和差分包都是通过./build/tools/releasetools/ota_from_target_files这个脚本生成的,这个文件的分析详细查看,这位大侠的分析,非常的详细:http://blog.csdn.net/zjujoe/article/details/6209393
编译过程:
1、Android 的编译原理
参见下面:http://www.cnblogs.com/fly-fish/archive/2012/05/07/2489274.html
下面说明otapackage的编译原理:
(build/core/Makefile)
# -----------------------------------------------------------------
# host tools needed to build OTA packages
OTATOOLS := $(HOST_OUT_EXECUTABLES)/minigzip \
$(HOST_OUT_EXECUTABLES)/mkbootfs \
$(HOST_OUT_EXECUTABLES)/mkbootimg \
$(HOST_OUT_EXECUTABLES)/fs_config \
$(HOST_OUT_EXECUTABLES)/mkyaffs2image \
$(HOST_OUT_EXECUTABLES)/zipalign \
$(HOST_OUT_EXECUTABLES)/aapt \
$(HOST_OUT_EXECUTABLES)/bsdiff \
$(HOST_OUT_EXECUTABLES)/imgdiff \
$(HOST_OUT_JAVA_LIBRARIES)/dumpkey.jar \
$(HOST_OUT_JAVA_LIBRARIES)/signapk.jar \
$(HOST_OUT_EXECUTABLES)/mkuserimg.sh \
$(HOST_OUT_EXECUTABLES)/make_ext4fs
.PHONY: otatools
otatools: $(OTATOOLS)
# -----------------------------------------------------------------
# A zip of the directories that map to the target filesystem.
# This zip can be used to create an OTA package or filesystem image
# as a post-build step.
#
name :