一般而言,在开发过程中会有升级,目前主流使用的都是ota 差分包流程
那么如何编译差分包呢?
参考:https://blog.csdn.net/weixin_39641173/article/details/117569857
1、首先高通平台的编译流程与android原生态的编译流程一样,需要经历以下几步:
a. source build/envsetup.sh;
b. lunch 选择项目
c. make -j24
编译完之后
4.make otapackage
5. mkdir OTA
然后进行烧录,把out\target\product\msm8909\obj\PACKAGING\target_files_intermediates目录下的msm8909-target_files-eng.zpeng.zip拷贝到OTA目录下,可以命名为msm8909-target_files-eng.zpeng_A.zip,
6. 然后进行一下修改,直接进行make otapackage,生成一个新包再out\target\product\msm8909\obj\PACKAGING\target_files_intermediates目录下,再把msm8909-target_files-eng.zpeng.zip拷贝到OTA下可以命名为msm8909-target_files-eng.zpeng_B.zip,
7. 可以开始进行差分包制作, 在src根目录下执行./build/tools/releasetools/ota_from_target_files -i 包> 包> 。这里必须在src根目录下执行,因为ota_from_target_files.py这个脚本里面写定了相对路径的引用文件。
如:./build/tools/releasetools/ota_from_target_files -v-t MMC-i
./OTA/msm8909-target_files-eng.zpeng_A.zip
./OTA/msm8909-target_files-eng.zpeng_B.zip
./OTA/update.zip
8. 在/OTA/update.zip 就是升级用的差分包。
实际我在编译的过程中会出现如下情况:
ExternalError: Failed to run signapk.jar: return code 1:
Error: Unable to access jarfile out/host/linux-x86/framework/signapk.jar
出现一些signapk.jar的异常,导致编译出现了问题。
参考如下的解决方案:
https://blog.csdn.net/Tiger99111/article/details/126522501
make signapk
它的作用是将signapk 编译到差分环境里面去了。out/host/linux-x86
然后再编译就会成功。步骤跟上面一样
./build/tools/releasetools/ota_from_target_files -p out/host/linux-x86 -k build/target/product/security/releasekey -i ./OTA/ceshi-eng_A.kangml.zip ./OTA/ceshi-eng_B.kangml.zip ./OTA/update.zip
生成 uodate.zip文件
那么当产生完差分包后,如何去严正ota 差分包生效了呢?
文章介绍了在高通平台上编译OTA差分包的步骤,包括sourcebuild/envsetup.sh,lunch选择项目,make-j24,makeotapackage等。在编译过程中遇到signapk.jar错误时,可以通过makesignapk解决。生成差分包后,使用ota_from_target_files.py脚本制作升级包,并说明了升级差分包的生效过程。
2070

被折叠的 条评论
为什么被折叠?



