【转】ANDROIDROM制作(一)——ROM结构介绍、精简和内置、一般刷机过程
作为对Rom制作的一个总结,本节主要介绍以下内容:
1、Rom介绍
2、Rom文件结构
3、app的精简与内置
4、Recovery简介
5、radio包简介
6、一般刷机过程、刷机过程中可能造成刷机失败的注意事项
7、如何实现Rom的基本美化
8、Rom包签名
------------------------
1、我们经常说的刷ROM是刷系统的意思,但是ROM的原意并不是这样,ROM的全称是read only memory只读储存器,正因为它是“只读”的,所以系统文件通常动会存储在手机ROM里,但这个只读是有条件限定的,通常情况下我们只能读,但在特殊情况下我们可以对ROM进行写操作,往ROM里写入新的系统文件的过程,就是刷机,也称“刷ROM”,而把系统文件包叫做了ROM,这是一种俗称,所以网上找不到能支持这个含义的英文全称
简单讲一下ROM包这个概念的历史,被人们熟识的刷系统应该是在WM平台上开始多起来的,当时还出现了一批制作ROM的专业工作人员,当然WM我接触的少,就不多说了,免得说错误导大家,但是刷机这个概念真正火起来还是在Android平台,出现了更多的Rom包制作者,或专职或出于爱好,也有很多经常刷机的发烧友,不过还是提醒一下,刷机也是有一定风险的,需谨慎对待!
2、关于Rom包的文件结构,一般Rom文件包下有以下文件:
data
META-IN
system
boot.img
data:顾名思义,是一个存储数据的文件夹,如安装第三方app会保存在data/data/app目录下
META-INF:内含升级脚本及ROM的签名
System:系统文件夹
Boot.img:android内核文件
System文件夹下还有以下文件或文件夹:
app:放置系统软件的目录,所以内置软件就是在制作Rom包的时候把apk文件放入此文件夹
bin:Android系统本地程序,主要是Linux系统自带的组件
Etc文件夹:放置android系统配置文件,如apn文件等
Fonts文件夹:放置字体文件,包含标准字体和粗体、斜体、中文、英文等
Framework文件夹:放置android系统平台框架文件及布局控制
Lib文件夹:放置系统底层库及运行库文件
Media文件夹:放置系统铃声音乐文件夹及开机动画文件,需要说明一下开机动画其实是多张静态图片的帧动画效果
Tts文件夹:放置手机的语音文件
Usr文件夹: 放置用户文件,包含共享、键盘布局、时间区域文件等
Vendor文件夹:放置ROM厂商定制内容
Xbin文件夹:放置用户系统支持程序文件
Build.prop文件:系统属性配置文件,如我们在设置-关于里看到的内容
3、了解了Rom的结构,精简和内置就不是问题了,一般的精简就是删除system/app和data/data/app两个目录下的多余文件,如国内无法使用的youtube,facebook等应用,而内置就是把想要内置的应用放到system/app目录下,当然如果用户取得root权限,还是可以删掉系统自带应用的
4、recovery这里主要指恢复的意思,一般说recovery界面是一个可以实现刷机等多种操作功能的一个工程界面,功能类似windows下的Ghost,可以实现系统备份、恢复、清理数据等操作
5、radio这里指无线电通讯,手机的无线电通讯硬件模块出厂时就已经内置,但软件却可以更新,可以理解为电脑网卡已经内置了,但是我们却可以更新驱动程序,radio包的好坏影响着手机通话质量、上网速度、联网稳定性等更网络相关的内容,所以如果手机信号没有问题,不要轻易地刷radio,有人又把刷radio称作刷“基带”、刷信号包,可以统统理解为升级了网卡驱动...
6、不同厂家的手机刷机过程各有不同,这里直说已经安装recovery的情况,如果没有安装recovery,随便google一下就有一大堆内容,不做赘述
下载Rom包,是一个.zip文件,简单的方法是把Rom命名为update.zip并放入sd卡的根目录,这样进入recovery界面时会提示是否升级,音量上键选择升级即可,当然也可以不改变Rom包文件名,进入Recovery界面选择Flashzipfromsdcard或Flashupdateimage,如果是中文版的recovery就是从sd卡中选择更新,总之大概是这个意思,然后选择Rom包的.zip文件确认即可
进入recovery的方法各有不同,HTC手机一般是关键后按音量下键+开机键,可以根据自己的手机型号上网查一下
一般来说,刷机也是有一定风险的,也经常有人把手机刷成砖或半砖,这些主要是由于不当的操作造成的,一般我们通过recovery刷Rom是不会造成太严重的结果,或者说如果有什么结果可以通过刷recovery解决,但如果是由于操作不当导致无法进入hboot界面那基本就算成砖了,这里不多说,主要是强调一下刷机的良好习惯,在刷机之前先进入recovery将现有系统做一个备份,防止刷机后出现问题,如果真不幸出现问题也可以通过备份恢复,备份后通过recevery对系统进行一个彻底的wipe,删掉多余的文件,然后在执行刷机操作,这样一般是不会有什么问题的
7、简单的美化,主要是替换资源,在system/framework目录下,有一个framework-res.apk文件,解压后发现里面全是各种资源文件,其中在res目录下,以drawable开头的文件夹下都是跟图片相关的资源,可以通过替换相同文件名的图片文件实现美化的目的,本人比较习惯原生的UI,所以这里不多讲
8、一般来说只是精简或是内置app的话不需要重新对Rom包进行签名,但有些时候需要对Rom签名的时候可以上网搜找一下Rom签名工具,通过简单的批处理就可以实现,其实就是用java的keytool命令进行签名,只不过是有了工具,大家就不愿意去敲命令,就像电脑越来越普及反而会提笔忘字一样!
这节的内容就说到这里,如果你也想有一个属于自己专有的Rom的话可以动手操作一下,不过还是提示刷机有风险
修改步骤:
1修改rom包刷机脚本
我们知道recovery刷机包都是zip格式的,所以我们完全可以解压修改后再打包回来,完全没有问题。比如我们下载G14的一个XUI的官方ROM,解包后里面有META-INF文件夹,有system系统文件夹,有boot.img内核文件,我们只要修改META-INF文件夹,META-INF里面都是刷机脚本文件,操作如下:
\META-INF\CERT.RSA 签名文件 删掉
\META-INF\CERT.SF 签名文件 删掉
\META-INF\MANIFEST.MF 签名文件 删掉
\META-INF\com\android 机型验证文件夹 整个删掉
\META-INF\com\google\android\ update-binary 刷机命令程序 保留
\META-INF\com\google\android\ updater-script 刷机脚本 需要修改
修改updater-script如下:
用文本打开updater-script,删除以下两行机型验证
assert(getprop("ro.product.device")== "ruby" ||
getprop("ro.build.product") == "ruby");
将mount("ext4","EMMC", "/dev/block/mmcblk0p23", "/data");
改为mount("ext4", "EMMC", "/dev/block/mmcblk0p31","/data");
修改好保存updater-script
注意上面的红色数字改成你data分区的分区表的代码。红色数字每个机型特定,如果错误,ROM直接就不能刷了。如何查看分区表信息,可以直接找度受。或者等小编后续的教程。
2、替换boot.img
将修改好的G22的boot.img(不会修改boot的机油可以直接用相同UI的ROM的boot.img)替换到G14的XUI官方ROM里面
3、签名打包
from:https://www.iteye.com/blog/dengzhangtao-1542895
【转】ANDROIDROM制作(一)——ROM结构介绍、精简和内置、一般刷机过程的更多相关文章
- 介绍一种android的裸刷机方法(fastboot刷机实质)
fastboot刷机的前提是你的开发板uboot良好并能正常启动进入fastboot模式,你的开发版的nand分区已存在.对于Android的uboot而言, 已经实现了fastboot命令,当你 ...
- 一、 JSP概述 二、JSP的语法结构 三、JSP内置对象
一.JSP概述###<1>概念 java服务器页面 可以编写动态页面 其内部是以HTML标签为主,可以在HTML标签嵌套java代码 jsp文件以.jsp为后缀 jsp本质上就是一个Ser ...
- 手机刷机软件与ROM的盈利模式分析
一. 智能手机的兴起不过短短几年时间,更新迭代已经让实体键盘成为回忆.智能手机带来的是人们生活习惯的改变,对于手机的重度依赖,是好是坏不去评价.智能手机相对于之前的手机最大的改变不仅仅是屏幕的飞速变大 ...
- Android手机ROM刷机简介
这一段时间刷了一堆ROM,安卓系列.CM.Hero.OldMos.隔壁新出的Android2.0,反正都尝了一下鲜,手机的照相机也刷得再也启不来了(不知道什么原因,杯具).有话说:"久病成良 ...
- 酷派8150S(移动定制版)可用的第三方Recovery备份数据、刷机并精简系统内置APK经验
希望使用的第三方Recovery下载地址: ClockworkMod ROM Manager - Recoveries http://clockworkmod.com/rommanager 适配的型号 ...
- 联想VIBE UI 固件ROM刷机包集合
固件下载_联想乐问吧http://ask.lenovomobile.com/?c-157.html 联想VIBE UI 固件ROM刷机包集合 悬赏分:0 解决时间:2014/09/12 15: ...
- 酷派D530刷机指引之官方ROM
刷机前的准备工作 刷官方ROM的大致过程就是:先手机连接电脑,然后在电脑上运行刷机工具,然后那个刷机工具就会把你选择的ROM装到手机里面,然后就没有然后了. 所以在刷机之前,硬件方面需要准备好: 充满 ...
- 微信内置浏览器私有接口WeixinJSBridge介绍(转)
这篇文章主要介绍了微信内置浏览器私有接口WeixinJSBridge介绍,本文讲解了发送给好友.分享函数.隐藏工具栏.隐藏三个点按钮等功能,需要的朋友可以参考下 微信网页进入,右上角有三个小点,没错, ...
- 微信内置浏览器私有接口WeixinJSBridge介绍
原文地址:http://www.3lian.com/edu/2015/05-25/216227.html 这篇文章主要介绍了微信内置浏览器私有接口WeixinJSBridge介绍,本文讲解了发送给好友 ...
随机推荐
- springboot中modbus使用
pom.xml配置: false true ias-snapshots Infinite Automation Snapshot Repository true false ias-releases ...
- MVC、MVP及MVVM之间的关系
介绍 写这篇随笔完全是为了加深自己的印象,毕竟写比看能获得得更多,另外本人对这三种模式的认识还是浅薄的,有待在以后的工作学习中有更深入的理解,因此不免会有误解,这里推荐大家阅读廖雪峰关于MVVM的介绍 ...
- Unity Physicals Rigidbody with multiple colliders
Rigidbody with multiple colliders adding colliders changes the center of mass and rotation behaviour ...
- linux技能点 六 软件管理和其他命令
软件管理:rpm ,yum apt -get (ubuntu) rpm -q:查询 rpm -i:安装 rpm -e:卸载 rpm -U:更新 yum install:安装 y ...
- leetcode 学习心得 (2) (301~516)
源代码地址:https://github.com/hopebo/hopelee 语言:C++ 301. Remove Invalid Parentheses Remove the minimum nu ...
- unity shader入门(一):基本结构话痨版
unity shader 有三种形式:表面着色器(Surface Shader),顶点/片元着色器(Vertex/Fragment Shader),固定函数着色器(Fixed Function Sha ...
- FIneUICore 版本的 AppBoxMvcCore
http://www.51aspx.com/code/codename/64088 CORE版本的APPBOXMVC欢迎下载
- Hive使用过程中踩过的坑
hive启动时错误1 Cannot execute statement:impossible to write to binary long since BINLOG_FORMAT = STATEME ...
- 两种方式测试 GNS3 环境
GNS3已经部署好了,怎么测试环境呢?两种方式,一是使用自带的VPC连接交换机互联互通,二是配合VMware连接GNS3中的交换机互联互通. 自带 VPC 测试 使用两台VPC与一台二层交换机相连,测 ...
- yum升级curl支持http2测试
首先,先为你的服务器获取最新匹配的源:http://mirror.city-fan.org/ftp/contrib/yum-repo/ 方法1,rpm方式安装city-fan.org的yum源 # 安 ...