当前位置: 首页 > article >正文

Android4.2自定义升级包

其实之前在4.0上已经做过,半年时间过去了,现在基本上都忘记完了。

系统默认升级包:

而在4.2上使用make otapackage 打出来的是完整的升级包;

使用ota_from_target_files可以打出2种升级包:

  1. 差分升级包;
  2. 完整升级包;

由于这两种升级包都有局限性:完整升级包太大;差分升级包限制太多(一旦基础包中的某个文件出现问题将导致升级失败)。


自定义升级包

需求:只对指定的文件或文件夹进行升级。

制作方法

在out\host\linux-x86\framework\目录下找到signapk.jar。

在build\target\product\security目录下找到testkey.pk8和testkey.x509.pem。

新建个目录,目录结构如下:

[shouyong@media online_update]$ tree
.
├── 0.0-0.1
│?? ├── META-INF
│?? │?? └── com
│?? │??     ├── android
│?? │??     │?? ├── metadata
│?? │??     │?? └── otacert
│?? │??     └── google
│?? │??         └── android
│?? │??             ├── update-binary
│?? │??             └── updater-script #(2),升级脚本
│?? ├── per_update.zip #(3) ,所有升级文件打成的包
│?? └── system #(1) ,要升级的文件
│??     ├── app
│??     │?? ├── Settings.apk
│??     │?? └── Home.apk
│??     ├── build.prop
│??     ├── framework
│??     │?? └── abc.jar
│??     └── lib
│??         └── libt2.so
├── mkpkg.bat # (4),制作升级包的脚本
├── signapk.jar #签名
├── testkey.pk8 #key
└── testkey.x509.pem 10 directories, 28 files
[shouyong@media online_update]$ 

分别对目录做了注解。

制作步骤

如下所示:

(1),准备要升级的文件;

(2),编写升级脚本(通用语法参考http://bbs.hiapk.com/thread-3302232-1-1.html,例子:http://blog.csdn.net/mu0206mu/article/details/7465603);

(3),使用压缩程序打包(可以使用rar或者linux的zip程序),必须是zip格式;

(4),修改脚本,修改“0.0-0.1/per_update.zip”为你自己的路径;

java -jar signapk.jar -w testkey.x509.pem testkey.pk8 0.0-0.1/per_update.zip update.zip

做 了如上修改后,直接运行脚本即可。就可以生产升级包了。


备注

其实updater-script脚本是与他同目录下的update-binary执行的,所以每个源码的updater-script很有可能都不一样具体要看接口实现;接口实现在bootable\recovery和bootable\recovery\updater,源代码搜索关键字:RegisterFunction。

甚至可以自定义接口。



http://www.lryc.cn/news/2415847.html

相关文章:

  • 【Python】python安装packages
  • CS1.5情人脚本V2024.05[混战脚本]
  • 无法定位程序输入点_except_handler4_common于动态链接库msvcrt.dll上
  • 基于虚拟机下的win7系统安装简记
  • 团队交流合作简单解决方案:TeamViewer远程控制会议演示 + HyperCam屏幕录制(免费)...
  • stm32 bin文件和hex文件的生成和下载
  • html 网页配色,配色就是这么简单!7个在线配色网站推荐
  • Qt在线音乐播放器
  • 《Spring视频教程》(p2)
  • domodal返回值问题
  • 【芯核架构】听你说你很了解ARM?
  • winrar4.0 注册码 key
  • Spring定时任务的几种实现
  • 心灵指南 刘墉 第三辑 肯定自己 笔记
  • 传说中的800句记7000词
  • 如何汉化vs2010、VS015、vs2017、VS019、v2022
  • 杂记
  • 缓存溢出
  • Linux USB 驱动实验
  • 用户行为分析
  • CodeGear Delphi 2007 for Win32 专业版下载地址及安装、破解方法
  • VBScript基础,变量,函数,流程
  • android布局layout,Android布局(layout)
  • Vmware17.5.1安装CentOS-Stream-9 【超超详细图文安装教程】
  • Django项目实战----接入第三方QQ登录绑定用户
  • 站外SEO应该怎么做?
  • 华为ct3100在entware上安装debian环境且在debian中安装samba过程
  • Blog主流程序整理(转)
  • Ubuntu7.04安装全实录
  • 3ds Max 2019: Advanced Materials 3ds Max 2019:材质高级教程 Lynda课程中文字幕