PAGE / NUMPAGES

教你制作定制版安卓系统(Android ROM)

有点玩机兴趣的android爱好者,应该对custom ROM这种东西都不陌生,它大致就相当于我们封装定制版pc系统中用到的Ghost(*.gho)文件。在介绍root权限获取的时候,就直接用的MoDaCo Custom ROM作为例子。适用于Hero比较好的ROM还有不少,比如Drizzy’s Custom HeroROM等等,都可以在XDA上找到。肯定有不少朋友感到很好奇,这些ROM都是怎么做的。考虑到中文社区相关资料比较少,在这里抛砖引玉,大概原理介绍一下。

对于第三方ROM来讲,通常都包括两部分,一个recoveryimage,一个update.zip。而大多数的第三方ROM的特色,就是加入了很多东西,比如superuser程序来获得root权限,busybox来扩充命令行下的功能,各种各样的配置文件或者小工具,比如默认打开中文locale,等等。这些看似神奇的改动,都是在update.zip里面搞的,custom recoveryimage的主要作用就是引导用户的操作,比如让你先备份,再应用update.zip,再重启之类的操作。由于custom recoveryimage和update.zip的耦合性很小,所以不少custom ROM直接都用同一个custom recoveryimage,这个好像是出自MoDaCo作者之手。再然后,我之前的文章已经有对 recoveryimage的简单讲解,所以这里,我主要介绍一下update.zip的制作。个人收集整理 勿做商业用途

如果我们直接把MoDaCoROM中的update.zip解包,我们会发现有一个boot.img,一个data文件夹,一个system文件夹,一个META-INF文件夹。这个data文件夹放的是init.rc,而本来在系统中,init.rc就是在data目录下的。当然,两者的作用不一样,这里的init.rc主要作用是开机执行你希望执行的命令,比如MoDaCo的init.rc就是install busybox。个人收集整理 勿做商业用途

而值得详细说明的,就是system文件夹。MoDaCoROM版本的system下有一系列作者希望放到系统中的工具,对于apk文件,就放到app下,工具就放到bin和xbin下,依此类推。换句话说,system或者data这个目录层次结构是取决于你自己的,你希望放的东西属于什么,应该运行在online系统的什么目录下,update.zip里面就应该是有相应的目录路径,然后东西就放在里面。个人收集整理 勿做商业用途

具体点,我们现在要依样画葫芦,搞一个新的update.zip,那么第一步就是首先建立一个文件夹

mkdir new-update

?

好,假设我新update.zip的作用就是预装我自己的一个程序,my.apk,那么,我建立对应的子目录个人收集整理 勿做商业用途

mkdir -p new-update/system/app

cp my.apk !$

?

这样,system目录就完成了。但是这时,update.zip的目录层次还没完,我们看MoDaCoROM中的update.zip中有文件夹叫META-INF,这个文件夹很关键,除了根目录下的三个文件外,里面层层目录,就包括了一个文件,叫update-script,内容如下个人收集整理 勿做商业用途

show_progress 0.1 0

copy_dir PACKAGE:system SYSTEM:

set_perm_recursive 0 0 0755 0644 SYSTEM:xbin

set_perm_recursive 0 0 0755 0644 SYSTEM:sd

set_perm 0 0 04755 SYSTEM:bin/su

set_perm 0 0 04755 SYSTEM:bin/a2sd

set_perm 0 0 04755 SYSTEM:xbin/busybox

copy_dir PACKAGE:data DATA:

show_progress 0.2 0

format BOOT:

write_raw_image PACKAGE:boot.img BOOT:

show_progress 0.2 10

?

这里面的内容,大部分是针对你要做的修改设置的。比如

copy_dir PACKAGE:system SYSTEM:

?

就是把system中新增的工具拷贝到手机上,然后

set_perm_recursive 0 0 0755 0644 SYSTEM:xbin

set_perm_recursive 0 0 0755 0644 SYSTEM:sd

set_perm 0

android系统 rom制作,教你制作定制版安卓系统(androidrom).doc相关推荐

  1. android 制作系统程序,教你制作定制版安卓系统(Android ROM)

    原标题:教你制作定制版安卓系统(Android ROM) 有点玩机兴趣的android爱好者,应该对custom ROM这种东西都不陌生,它大致就相当于我们封装定制版pc系统中用到的Ghost(*.g ...

  2. 雷蛇灵刃定制版Win10系统不稳定及处理方案

    Win10雷蛇定制版系统不稳定,常出现风扇突然加速,CPU100%等异常情况,不能满足个人使用需要,遂决定从头到尾分析下,解决这个问题. 一.总体使用概况 从年初开始使用这台15寸雷蛇灵刃,i7-10 ...

  3. 安卓系统怎么安装软件_【图文】安卓系统手机如何下载安装APP

    我们以"支付宝APP"为例,介绍一下安卓系统手机(除苹果手机外大部分手机为安卓系统手机)下载安装APP的步骤. 安卓系统的手机使用方法是相似的,我使用的是华为P40,大家可以参考操 ...

  4. 换了固态硬盘需要重装系统吗?教你如何实现不重装系统!

    电脑大家都用过嘛,如果您的计算机装的还是机械硬盘,想必阁下肯定是修身养性的高手,因为在这个浮躁的社会中,是很少有人能够忍受5分钟甚至更久的开机时间的,不仅开机慢,应用程序的响应速度也很慢,用电脑时得在 ...

  5. android系统的刷机步骤,怎么刷机安卓系统,自己就能刷机的方法,太方便了

    有好多人都私信给我,问我刷机是怎么一回事,怎么刷啊?我的手机被锁机了,怎么办啊? 这篇文章我就来给大家讲讲刷机这点事!安卓系统的手机刷机,就相当于给它重装一下系统,这和电脑重装系统类似.通过刷机,给手 ...

  6. 如何用光盘映像文件重装服务器系统,韩博士教你如何使用光盘重装系统

    原标题:韩博士教你如何使用光盘重装系统 光盘安装系统是最传统的系统安装方式,小编到现在还记得上学时买一台电脑,小心翼翼按照教程一步步安装系统的样子,现在光盘安装系统的步骤已经变得简单的多,本篇教程就以 ...

  7. 华为手机双卡有android,华为Mate 40系列手机入网:双卡5G+安卓系统

    华为Mate 40系列手机是最近大家都比较关注的,而该系列手机的消息不断的被曝光,但是具体的发布时间一直没有确定,相关配置和外观均得到了曝光,不过最新的消息显示,华为Mate 40系列手机已经在工信部 ...

  8. android车载导航测试,打造属于车机的安卓系统_DVD导航_GPS评测-中关村在线

    安卓系统为车机带来了新生机,与WINCE系统相比安卓车机拥有更好的娱乐性,扩展性和人机互动体验,那么照搬手机和平板的模式能为车机带来新辉煌吗?答案很明显,车机有自己的特有功能,有自己的用户群体,&qu ...

  9. 阴阳师ios和android,阴阳师:国际服已经可以IOS和安卓系统转换了,国服还遥遥无期...

    原标题:阴阳师:国际服已经可以IOS和安卓系统转换了,国服还遥遥无期 近期由于应用宝渠道的玩家无法登陆PC端,让玩家嗯再次把"转服"这个问题提了出来,但是根据现在的情况来看,转服应 ...

  10. android什么牌子的电视机,国内品牌电视以安卓系统为主

    国内品牌电视以安卓系统为主 合资品牌智能电视基本上都采用了自己的操作系统,并没有过多的依赖于安卓的生态体系,而国内品牌智能电视则是以安卓为主,并且都基于安卓系统进行了大幅度的优化. TCL L55E6 ...

最新文章

  1. Java程序员3面小米,被俩算法题难倒,微软员工6分钟解决,真丢脸
  2. pyglet and opengl -- 纹理映射以及动画
  3. JAVA之JVM之内存分配与回收策略(二)
  4. 免费学python的软件-初学python编程,有哪些不错的软件值得一用?
  5. idea命令行运行多个客户端_推荐一款神仙颜值的 Redis 客户端工具,开源啦
  6. php mysql 值是否丰在_php 查询数据库表 判断 某值是否存在
  7. sklearn GridSearchCV网格搜索案例与代码
  8. transform 的副作用
  9. 10 分钟看懂消息队列 RocketMQ
  10. winrar解压时出现诊断信息怎么办?
  11. 文件上传利器SWFUpload入门简易教程(转)
  12. 主流web前端技术框架有哪些?
  13. 高云FPGA系列教程(2):FPGA点灯工程创建、程序下载和固化
  14. 广义表详解(C语言版)
  15. CobaltStrike服务端自身隐匿技巧
  16. 启动Solr 8.10 后访问UI报错:CoreContainer is either not initialized or shutting down.
  17. 唐老师讲运算放大器(第五讲)——运放的应用
  18. 位图(BMP)文件格式(一)
  19. 基于python实现梯度下降法(GD)在线性回归中的应用(Boston房价预测数据集)
  20. 慧都APS解决方案,点亮「照明灯具行业」精益化生产之路

热门文章

  1. java不能变成class_java.lang.Class不能转换为java.lang.reflect.ParameterizedType
  2. 西南交通大学计算机应用基础,西南交通大学计算机应用基础作业-客观部分
  3. JAVA基础(2/17)-基本语法_数据类型
  4. JAVA之JAR文件
  5. DP题目推荐合集(洛谷/UVa)
  6. MSSQL coalesce系统函数简介
  7. C语言--第一周作业(更改)
  8. 【 js 算法类】这么全的数组去重,你怕不怕?
  9. Apache+tomcat配置集群(1)
  10. weblogic 下载文件问题