Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1627193
  • 博文数量: 126
  • 博客积分: 1541
  • 博客等级: 上尉
  • 技术积分: 1914
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-20 11:14
文章分类

全部博文(126)

文章存档

2014年(21)

2013年(42)

2012年(63)

分类: Java

2013-03-14 14:36:23

生成ota全包,请参照下面步骤12的命令。步骤1是前提,步骤2最终生成ota全包。

1. 编译+签名:

vendor/baidu/tools/release_make_image.sh

假设当前需生成的版本号为vC80-0,编user版本,存放key的目录为~/MyProject

/chengkai/key,则命令如下:

vendor/baidu/tools/release_make_image.sh vC80-0 user ~/MyProject/chengkai/key

此条命令之后,在代码根目录下会生成image_output_vC80-0目录,请把这个目录

保存好,里面存放了签了名的 target_filesimage等。其中

image_output_vC80-0/image目录里面就是带签名的 image文件,用于烧写手机。

如果以后代码有了更新,需要出个vC81-0版本,则仍然使用该命令:

vendor/baidu/tools/release_make_image.sh vC81-0 user ~/MyProject/chengkai/key

此条命令之后,在代码根目录下会生成image_output_vC81-0目录。

2. 如果想生成从vC80-0vC81-0ota升级包,则使用这个命令:

vendor/baidu/tools/release_make_ota_diff.sh

结合上面的例子,则实际命令如下:

vendor/baidu/tools/release_make_ota_diff.sh

xxx/image_output_vC80-0/target_files_signed.zip vC80-0 xxx/image_output_vC81-0/target_files_signed.zip vC81-0 ~/MyProject/chengkai/key/releasekey

注意这一步只需使用release key,所以最后一个参数不是指向存放key的目录,而

是指向里面的release key

此条命令之后,在代码根目录下生成ota_output,里面存放了vC80-0vC81-0

ota差分包(在ota-diff目录),以及vC81-0ota全包(在ota-full目录)。




目前有两种升级方式:recovery升级和通过应用来升级。通过recovery升级不会检测image签名和OTA包签名的一致性, 通过应用升级会检测image签名和OTA包签名的一致性。所以有两种方式来解决这一签名不一致的问题。

1.       通过build/target/product/security下的key  签名的imageOTA包,但是只能通过recovery模式来升级。升级之后手机里面就是build/target/product/security下的key的签名。

2.       先用build/target/product/security下的key来签名image 再用百度 key签名OTA包。这样OTA包就能够在之前用百度key签名的系统上升级。 升级之后手机里面就是build/target/product/security下的key的签名了。

使用这两种方法解决本次的签名的问题后,下次升级就可以直接用build/target/product/security下的key签名imageOTA包,然后通过recovery模式或者应用来完成OTA升级了。

BR



阅读(6188) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~