目前有好几种方法来安装软件或是库文件到你的Android手机上。你可以使用市场程序来查找并安装软件,也可以使用adb命令行工具来安装或是发送文件到你的Android文件系统中。这些方法对于操作单个文件来说都挺方便的,但是如果你需要一次性安装多个软件或是库文件时,那么最为方便的方法大概就是使用update.zip(也就是刷机包)文件了。Android系统使用恢复工具(recovery)来安装这个update.zip文件中的软件或库文件到Android文件系统中。而一个ROM或是主题开发者通常都是使用这个方式来发布他们的作品(刷机包)。
  创建一个update.zip文件是很简单的事情,你所需要做的就是将文件放置到与Android文件系统中相对应的文件夹中,然后编写一个用来复制这些文件到手机对应位置的update-script文件。作为举例,本文会安装Calculator.apk到system/app文件夹,复制libsec-ril.so文件到system/lib文件夹:
  新建一个空文件夹(本文例:C:\goapk)
  新建用来放置Calculator.apk的文件夹C:\goapk\system\app以及用来放置libsec-ril.so的文件夹C:\goapk\system\lib。
  创建用来放置update-script文件的文件夹C:\goapk\META-INF\com\google\android。
  创建一个名为update-script的文件,其内容如下:
  show_progress0.10
  copy_dirPACKAGE:systemSYSTEM:
  show_progress0.110
  行1和行3:显示进度条
  行2:复制刷机包中的system文件夹到Android的/system
  注意:你应该在文件的最末尾多添加一个空行
  将C:\goapk压缩中的所有内容压缩为zip包(千万记住:是压缩goapk这个文件夹中的内容,不是goapk文件夹本身)
  为goapk.zip签名
  签名命令:java-jarsignapk.jarcertificate.pemkey.pk8goapk.zipupdate.zip
  将update.zip文件复制到SD卡中,然后手机进入recovery界面来刷入这个刷机包。
  进阶学习(以下仅作参考,因实际情况不同,可能会有一定的出入。但是极度推荐学习本部分)
  update-script语法参考(在Android源码的recovery.c文件中定义):
  copy_dir
  语法:copy_dir[]
  描述:复制中的内容到中。如果中没有同名文件进行覆盖,那么中的原始内容会仍然存在不变。
  示例:copy_dirPACKAGE:systemSYSTEM:,这个命令会把刷机包中的system文件夹复制到手机的/system文件夹中
  format
  语法:format
  描述:格式化一个分区。
  示例:formatSYSTEM:,这个命令会格式化整个/system。注意:格式化时所进行的数据删除操作是不可逆转的。
  delete
  语法:delete[...]
  描述:删除文件。
  示例:deleteSYSTEM:app/Calculator.apk,这个命令会删除手机system/app文件夹中的Calculator.apk文件。
  delete_recursive
  语法:delete_recursive[...]
  描述:删除一个文件或递归删除某个文件夹(也就是包括该文件夹中的所有内容)
  示例:delete_recursiveDATA:dalvik-cache,这个命令会删除/data/dalvik-cache文件夹以及该文件夹中的所有内容。
  run_program
  语法:run_program[...]
  描述:运行一个刷机包中的外部程序。
  示例:run_programPACKAGE:install_busybox.sh,这个命令会执行刷机包中的install_busybox.sh脚本(命令行)。
  set_perm(本命令中涉及的数值,如有疑惑,请自行Google。uid=userid,gid=groupid)
  语法:set_perm[...]
  描述:设置某个文件或是指定的整个目录树的所有者和权限,就像是一个‘chmod’、‘chown’、以及‘chgrp’命令的集合体。
  示例:set_perm020000550SYSTEM:etc/init.goldfish.sh,这个命令会设置手机上system分区中etc/init.goldfish.sh文件的用户组为:shell;用户为:root;权限为:所有者以及所属用户组成员可以进行读取和执行操作,其他用户无操作权限。
  set_perm_recursive(本命令中涉及的数值,如有疑惑,请自行Google。uid=userid,gid=groupid)
  语法:set_perm_recursive[...]
  描述:递归设置某个文件夹中所有内容的所有者和权限
  示例:set_perm_recursive0007550644SYSTEM:app,这个命令会递归设置手机上system/app文件夹以及其所有内容的用户组为:root;用户为:root;app文件夹的权限为:所有者可以进行读、写、执行操作,其他用户可以进行读取和执行操作;app文件夹下的所有文件的权限为:所有者可以进行读写操作,其他用户可以进行读取操作。
  show_progress
  语法:show_progress
  描述:为下一个操作在屏幕上显示一个进度条,自动的根据指定的秒数来递增进度条状态(如果实际上进度条的推进是可以确定的,那就会更加迅速)。
  示例:show_progress0.10,这个命令是指,操作完成后,进度条前进0.1(10%)
  symlink
  语法:symlink
  描述:创建一个符合链接(就像是‘ln-s’)。的格式类似于这样:根目录:路径,但是则是指目标文件(而且位置可能是相对与链接所在路径的)
  示例:symlink/system/bin/suSYSTEM:xbin/su,这个命令会为/system/bin/su在手机system分区的xbin文件夹下创建一个符号链接,名为su

ROM制作教程 如何创建一个刷机包相关推荐

  1. linux制作手机系统,自己动手制作个性化Linux操作系统手机刷机包

    自己动手制作个性化Linux操作系统手机刷机包 本程序用于编辑 Linux 操作系统手机刷机包,运行环境为 Windows XP/2003/Vista.使用该程序可以对 Linux 操作系统手机刷机包 ...

  2. linux系统的手机刷机包,自己动手制作个性化Linux操作系统手机刷机包

    自己动手制作个性化Linux操作系统手机刷机包 本程序用于编辑 Linux 操作系统手机刷机包,运行环境为 Windows XP/2003/Vista.使用该程序可以对 Linux 操作系统手机刷机包 ...

  3. 360手机论坛刷机包 360手机ROM下载 360手机官网刷机包 360手机刷机包分享下载

    360手机论坛刷机包 360手机ROM下载 360手机官网刷机包 360手机刷机包分享下载  参考:360手机-360刷机360刷机包twrp.root 360刷机包360手机刷机:360rom.gi ...

  4. 从官方原生ROM(system.img)定制update.zip刷机包

    要定制自已 ROM 首先要从官方原生 ROM 提取 system.img system.img 这个系统文件解包并打包成 update.zip 的形式用来刷机,update.zip 制作步骤: 一.准 ...

  5. linux手机刷机包制作工具_LINUX操作系统手机刷机包SBF文件资料制作修改方法

    实用标准文案 LINUX操作系统手机刷机包(.SBF 文件)制作.修改方法 By shanxin96-2007.2.20 第一种修改方法:利用WINHEX软件 一.获得 .smg 文件 获得 .smg ...

  6. linux手机刷机包制作工具_LINUX操作系统手机刷机包制作、修改方法

    修改方法:利用WINHEX软件 一.获得 .smg 文件 获得 .smg 文件的两种方法: 1.通过 RSD 刷机把 .SBF 文件解开后,产生多个 .smg 文件,提示:RSD 刷机过程中完成第一个 ...

  7. linux手机刷机包制作工具_ROM制作工具官方下载|ROM制作工具下载 v1.0.0.59 官方版 - 绿点软件站...

    资源下载,支持线刷包(img)转卡刷包(zip):支持img/dat相互转换:ROM制作工具高效免费,为广大ROM开发者.手机维修.预装分发等人群提供快捷便利的定制服务. ROM制作工具官方简介 RO ...

  8. 如何制作ROM刷机包

    目前有好几种方法来安装软件或是库文件到你的Android手机上.你可以使用市场程序来查找并安装软件,也可以使用adb命令行工具来安装或是发送文件到你的Android文件系统中.这些方法对于操作单个文件 ...

  9. [rom助手]制作刷机包,一键刷机不求人

    随着Android系统的普及以及刷机热潮的蔓延,很多pc端的一键傻瓜式刷机辅助工具纷纷问世,有了他们的帮助我们即可轻松实现刷机.那么在众多的制作工具中,哪一款才是适合自己的?本人一直钟爱的是蘑菇rom ...

最新文章

  1. Scala基础教程(九):提取器、文件I/O
  2. layui对json数据的格式要求
  3. [改善Java代码]让工具类不可实例化
  4. kmeanssklearn实例_sklearn实践(一):kmeans聚类
  5. 异步下载圆形进度条显示进度
  6. centos 5.8 升级php5.1至5.3
  7. Jeff Dean谈2020年机器学习趋势:多任务和多模态会有大进展
  8. spring的一些概念及优点
  9. 针对piix4_smbus ****host smbus controller not enabled的解决方法
  10. C++ QT安装教程2021
  11. VMware安装win7操作系统
  12. 计算机网络软件系统是什么结构,计算机软件系统的组成是什么?
  13. OpenWrt U盘分区启动设置
  14. 原生Javascript实现拼图游戏
  15. 如何改编一首吉他曲的和弦?
  16. NOIP2018普及赛后总结
  17. 李嘉诚、英特尔、比亚迪入股的雷蛇,上市后能玩把大的吗?
  18. 测试百科:白盒测试用例的设计(图文并茂,非常详细)
  19. c语言作业做出金山打字功能,C语言小游戏之金山打字
  20. oracle入门学习

热门文章

  1. Windows 7不用安装直接“拷贝”就能用
  2. 备忘录可以统计字数吗?备忘录怎么查看字数
  3. vue 挂载全局变量
  4. 台式电脑无法自动修复此计算机怎么办,电脑无法自动修复此计算机咋办
  5. gmail作为email服务器
  6. 汤姆大叔深入理解JavaScript系列
  7. Maven 3.6.3版本下载与安装
  8. 微商分销系统怎么做?如何用微商分销系统赚钱?
  9. 【图像重建】基于matlab字典学习KSVD图像低秩重建【含Matlab源码 1762期】
  10. 嵌入式Linux性能优化