作为对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结构介绍、精简和内置、一般刷机过程的更多相关文章

  1. 介绍一种android的裸刷机方法(fastboot刷机实质)

      fastboot刷机的前提是你的开发板uboot良好并能正常启动进入fastboot模式,你的开发版的nand分区已存在.对于Android的uboot而言, 已经实现了fastboot命令,当你 ...

  2. 一、 JSP概述 二、JSP的语法结构 三、JSP内置对象

    一.JSP概述###<1>概念 java服务器页面 可以编写动态页面 其内部是以HTML标签为主,可以在HTML标签嵌套java代码 jsp文件以.jsp为后缀 jsp本质上就是一个Ser ...

  3. 手机刷机软件与ROM的盈利模式分析

    一. 智能手机的兴起不过短短几年时间,更新迭代已经让实体键盘成为回忆.智能手机带来的是人们生活习惯的改变,对于手机的重度依赖,是好是坏不去评价.智能手机相对于之前的手机最大的改变不仅仅是屏幕的飞速变大 ...

  4. Android手机ROM刷机简介

    这一段时间刷了一堆ROM,安卓系列.CM.Hero.OldMos.隔壁新出的Android2.0,反正都尝了一下鲜,手机的照相机也刷得再也启不来了(不知道什么原因,杯具).有话说:"久病成良 ...

  5. 酷派8150S(移动定制版)可用的第三方Recovery备份数据、刷机并精简系统内置APK经验

    希望使用的第三方Recovery下载地址: ClockworkMod ROM Manager - Recoveries http://clockworkmod.com/rommanager 适配的型号 ...

  6. 联想VIBE UI 固件ROM刷机包集合

    固件下载_联想乐问吧http://ask.lenovomobile.com/?c-157.html 联想VIBE UI 固件ROM刷机包集合 悬赏分:0     解决时间:2014/09/12 15: ...

  7. 酷派D530刷机指引之官方ROM

    刷机前的准备工作 刷官方ROM的大致过程就是:先手机连接电脑,然后在电脑上运行刷机工具,然后那个刷机工具就会把你选择的ROM装到手机里面,然后就没有然后了. 所以在刷机之前,硬件方面需要准备好: 充满 ...

  8. 微信内置浏览器私有接口WeixinJSBridge介绍(转)

    这篇文章主要介绍了微信内置浏览器私有接口WeixinJSBridge介绍,本文讲解了发送给好友.分享函数.隐藏工具栏.隐藏三个点按钮等功能,需要的朋友可以参考下 微信网页进入,右上角有三个小点,没错, ...

  9. 微信内置浏览器私有接口WeixinJSBridge介绍

    原文地址:http://www.3lian.com/edu/2015/05-25/216227.html 这篇文章主要介绍了微信内置浏览器私有接口WeixinJSBridge介绍,本文讲解了发送给好友 ...

随机推荐

  1. springboot中modbus使用

    pom.xml配置: false true ias-snapshots Infinite Automation Snapshot Repository true false ias-releases ...

  2. MVC、MVP及MVVM之间的关系

    介绍 写这篇随笔完全是为了加深自己的印象,毕竟写比看能获得得更多,另外本人对这三种模式的认识还是浅薄的,有待在以后的工作学习中有更深入的理解,因此不免会有误解,这里推荐大家阅读廖雪峰关于MVVM的介绍 ...

  3. Unity Physicals Rigidbody with multiple colliders

    Rigidbody with multiple colliders adding colliders changes the center of mass and rotation behaviour ...

  4. linux技能点 六 软件管理和其他命令

    软件管理:rpm  ,yum apt -get (ubuntu) rpm -q:查询     rpm -i:安装   rpm -e:卸载    rpm -U:更新 yum install:安装   y ...

  5. leetcode 学习心得 (2) (301~516)

    源代码地址:https://github.com/hopebo/hopelee 语言:C++ 301. Remove Invalid Parentheses Remove the minimum nu ...

  6. unity shader入门(一):基本结构话痨版

    unity shader 有三种形式:表面着色器(Surface Shader),顶点/片元着色器(Vertex/Fragment Shader),固定函数着色器(Fixed Function Sha ...

  7. FIneUICore 版本的 AppBoxMvcCore

    http://www.51aspx.com/code/codename/64088 CORE版本的APPBOXMVC欢迎下载

  8. Hive使用过程中踩过的坑

    hive启动时错误1 Cannot execute statement:impossible to write to binary long since BINLOG_FORMAT = STATEME ...

  9. 两种方式测试 GNS3 环境

    GNS3已经部署好了,怎么测试环境呢?两种方式,一是使用自带的VPC连接交换机互联互通,二是配合VMware连接GNS3中的交换机互联互通. 自带 VPC 测试 使用两台VPC与一台二层交换机相连,测 ...

  10. yum升级curl支持http2测试

    首先,先为你的服务器获取最新匹配的源:http://mirror.city-fan.org/ftp/contrib/yum-repo/ 方法1,rpm方式安装city-fan.org的yum源 # 安 ...