Platform: RK3399
OS: Android 7.1
一、全编
make -j32
./mkimage.sh ota
二、生成原始的 OTA 完整包
make otapackage
会在 out/target/product/rk3399_firefly_box/下生成rk3399_firefly_box-ota-eng.root.zip
所生成的这个rk3399_firefly_box-ota-eng.root.zip改名为 update.zip 即可用于完整包固件升级。
把update.zip放到板子/sdcard目录或者拷贝到sd卡,重启系统,系统自动检测升级包,点击install进行升级。
将rk3399_firefly_box-target_files-eng.root.zip这个改名为 ×-old.zip 用来作为后面差异 OTA 包的 target file
rk3399_firefly_box-target_files-eng.root.old.zip
mv
out/...obj/PACKAGING/target_files_intermediates/rk3399_firefly_box-target_files-eng.root.zip
out/...obj/PACKAGING/target_files_intermediates/rk3399_firefly_box-target_files-eng.root.old.zip
三、修改了一些内容
…如删掉system/app目录下没用的apk
四、生成 OTA 差异包
**生成差异包命令格式:
ota_from_target_files
–v –i 用于比较的前一个 target file
–p host 主机编译环境
‐k 打包密钥
用于比较的后一个 target file
最后生成的 ota 差异包**
//1. 生成新的 ota 包
make otapackage
//生成了 rk3399_disvr-ota-user.younix.20161116.104037.zip
//2. 生成差异包
./build/tools/releasetools/ota_from_target_files -v -i
out/target/...target_files_intermediates/rk3399_firefly_box-target_files-eng.root.old.zip
-p out/host/linux-x86 -k build/target/product/security/testkey
out/target/...target_files_intermediates/rk3399_firefly_box-target_files-eng.root.zip
out/target/product/rk3399_firefly_box/update.zip
out/target/product/rk3399_firefly_box/update.zip
即为差异包
差分包升级跟前面的完整包升级方法一样。注意差分包升级时,板子烧写的版本。是单向的。
*************************************************************************
Platform: msm8916
OS: Android 5.1
完整包和差分包:
1、固件编译好之后每个版本都需要保存
out/target/product/M9PLUS_10/obj/PACKAGING/target_files_intermediates/M9PLUS_10-target_files-L1193.6.01.01.zip(这是是要做差分包的完整包,这个一 定要保存非常重要!!)
out/target/product/M9PLUS_10/ M9PLUS_10-ota-L1193.6.01.01.zip(这个是作为升级用的完整包,不是制作差分包的完整包!!)
2、可以在源码根目录下面新建目录firmware_ota里面再新建oldverdion目录、newversion、updateversion。这三个目录分别存放前一个版本固件,新版本固件, 差分包生成目录。然后用如下命令生成差分包。
./build/tools/releasetools/ota_from_target_files -v -n -i firmware_ota/oldverdion/ M9PLUS_10-target_files-L1193.6.01.01.zip firmware_ota/newverdion/M9PLUS_10-target_files-L1193.6.01.01.zip firmware_ota/updateverdion/update.zip
firmware_ota/updateverdion/update.zip就是生成的差分包。升级差分包和完整包步骤跟之前一致即可。
制作差分包遇到的错误解决:
1. 删除/tmp/目录下的所有临时文件。
2. 执行source build/envsetup.sh 然后lunch
3. 重启
https://blog.csdn.net/mike8825/article/details/47871481