博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用update包更新系统文件的过程
阅读量:4357 次
发布时间:2019-06-07

本文共 1126 字,大约阅读时间需要 3 分钟。

为只更新手机的一部分内容,而直接替换system中的文件,或想将app安装系统应用,可采用recovery模式下刷入update.zip包的方式实现这些需求。

这样生成的更新包相对于完整的刷机包来说不仅小很多,而且能更加快捷的修改手机中的文件或应用程序。

0x01 update包的组成

update.zip主要由两个文件夹组成,META-INF文件夹和system文件夹。

META-INF文件夹中包含签名的三个文件,以及刷机脚本update-script和从官方rom中提取的update-binary文件。

   

system文件夹中包含app文件夹,或framework文件夹。当需要刷入系统应用时,将应用程序放在system/app/目录下;更新core.odex文件或core.jar文件时,则放在system/framework/目录下。

每次修改更新包之后,都需要重新签名,相关的三个签名文件也会相应的被更改。

0x2 刷机脚本文件修改注意事项

由于只是更新系统中的部分文件,因此删除掉了完整刷机脚本中对system分区格式化的语句,保留了装载system分区的语句,以及释放刷机包中system目录文件到手机/system目录的语句:

format("ext4", "EMMC", "/dev/block/mmcblk0p43", "0");

mount("ext4", "EMMC", "/dev/block/mmcblk0p43", "/system");

package_extract_dir("system", "/system");

同时,删除了更新内核镜像文件boot.img的语句:

assert(package_extract_file("boot.img", "/tmp/boot.img"),

write_raw_image("/tmp/boot.img", "/dev/block/mmcblk0p40"),

delete("/tmp/boot.img"));

其它部分内容基本没做修改。需要注意的是,如果删除了set_perm或set_perm_recursive等相关权限设置的语句,可能会导致系统相关功能出现异常,因此建议不要删除这些内容。

0x3 刷机包的重新签名与刷入

根据需求在system的相应目录下放置好文件之后,如:

 

 

使用APKSign或其它工具对刷机包进行刷机即可。如果手机recovery模式下的sdcard和一般使用的不同时,建议在recovery模式下再将刷机包push进去。

转载于:https://www.cnblogs.com/annaivsu/p/4819760.html

你可能感兴趣的文章
php读取数据库数据,出现中文乱码(数据库中没有出现乱码)
查看>>
selenium动作链
查看>>
敏捷外包工程系列之二:人员结构(敏捷外包工程,敏捷开发,产品负责人,客户价值)...
查看>>
《设计你的人生》的部分经典语录
查看>>
mustache多次渲染和多个赋值
查看>>
《Flutter 实战》开源电子书
查看>>
Python 键盘记录
查看>>
HDU 1381 Crazy Search
查看>>
NYOJ 311 完全背包
查看>>
几本书
查看>>
PLSQL
查看>>
修改计算机名
查看>>
Android-Activity的启动模式
查看>>
禅道项目管理系统整合Selenium IDE的思路
查看>>
网页数据交互!有很多可能不完善希望能提出来
查看>>
自家用的java小总结(2.4):类的知识的查漏补缺(内部类)
查看>>
Linux重定向与管道
查看>>
string.indexOf()和$.inArray()查找
查看>>
lamp :在Linux 下搭建apache、Mysql、php
查看>>
【编程题目】圆形是否和正方形相交☆
查看>>