手动制作update升级包以及制作差分包

来源:互联网 发布:工控软件下载 编辑:程序博客网 时间:2024/05/01 14:39
===============
手动制作update升级包
===============
1.创建update文件夹,将需要升级的文件按照路径放入其中。

2.修改update/META-INF/com/google/android/updater-script升级脚本。
assert、mount/remount、package_extract_dir、赋权限等不能出错

3.将update打成zip包。
在update目录内,选中所有文件,点击右键--压缩--创建.zip

4.zip包签名:
将update.zip放置在LINUX/android目录,运行:
java -Xmx2048m -jar ./out/host/linux-x86/framework/signapk.jar -w ./build/target/product/security/testkey.x509.pem  ./build/target/product/security/testkey.pk8 update.zip update_signed.zip

5.升级
将updater_signed.zip改名为updater.zip,导入手机进行升级。
===============
制作差分包执行命令
===============
make otapackage命令后会在LINUX/android/out/target/product/msm8610/obj/PACKAGING/target_files_intermediates/目录下
生成zip包。
我们可以将两次有差异提交而生成的这个zip,分别命名为old.zip和new.zip,放置在LINUX/android/目录下,
运行命令:
./build/tools/releasetools/ota_from_target_files -i old.zip new.zip update.zip
如果没有其它错误的话,会在源码根目录生成update.zip差分包,OK。

【注】我们不能取LINUX/android/out/target/product/msm8610目录下生成的zip包,那样会报错:
    ValueError: can't find recovery API version in input target-files。即未找到recovery_api_version的错误。
原因:
    在执行上面的脚本时如果使用选项 i 则会调用WriteIncrementalOTAPackage会从A包和B包中的META目录下
    搜索misc_info.txt来读取recovery_api_version的值。
    但是在执行make  otapackage命令时生成的update.zip包中没有这个目录更没有这个文档。
=================================================================================
0 0
原创粉丝点击