`
quanminchaoren
  • 浏览: 926167 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Android 刷机原理及ROM定制解析

阅读更多

一、刷机原理

记得第一次刷机,哪个心理紧张啊。其实紧张什么呢?就是因为不明白原理啊,只看到一堆的教程来依葫芦画瓢,生怕错了一步将手机变砖。真正使我对刷机 原理有一些理解的是看了这一篇文章:点击查看

说起来,刷机就是两种方法:

一是recovery方法,就是我们平时将update.zip入到SD卡,然后alt-s的方法,这种方法是调用了recovery的方法将各种 img或文件进行复制等操作。想了解recovery的工作原理吗?我也没找到好的资料,就在这看了看recovery的一些源码:点击查看

二是fastboot方法,这个方法其实是比较酷的方法,说白点,fastboot就是将已有的各分区映象文件(img文件,意义上类似我们对光盘 做的映象文件)直接覆盖写到指定分区中,有点暴力,也有点类似我们平时操作系统的Ghost还原。

这两种方法哪种更好,这就不好比高低了,总的来说:

Recovery方法更简单,只需要傻瓜式的将update.zip放到SD卡的要目录下,然后进入Recovery模式alt-s就可以了,但和 任何傻瓜式东西一样,他的灵活度就很小了,而且出错了也都不知道如何解决。一般来说做Rom的高手为了保证Rom的可靠性,在安装程序中都会对一些安装环 境进行一些确定,而各位的手机环境又是千变万化的,Rom高手也很难考虑周全,另外,Recovery程序本身也有一些环境验证。

fastboot方法更灵活,功能也更强大,fastboot方法不需要依赖于recovery,甚至linux底层刷坏了 recovery模式都进不了的情况下也可以通过fastboot方工刷回来。fastboot模式其实是调用spl进行刷机的,所以如果刷spl坏 了,fastboot模式应该也进不了,也就是砖了。fastboot方法需要各位电脑上有fastboot程序,同时手机要进入fastboot模式才 可以操作,关于这些知识,请参见Google *^_^*
二、回头再来说说Android系统中的各分区(可能分区这个说法不太准确)

我了解到的Android系统中的分区有:

hboot(我们刷的SPL就是这玩意),这个分区是最基本的引导分区(类似电脑中的BIOS),这个区坏了,差不多就变砖了,所以我们刷SPL时 才要如此小心啊。

boot,这个分区应该是linux操作系统的引导分区。

radio,这个分区是手机的一些底层设备相关的驱动或功能程序吧,如打电话和发短信等,不同的系统版本会有不同的radio配套,我们平时刷了高 版本的ROM后,如果不刷高版本的Radio就有可能导致打电话不正常之类的。

recovery,这个分区装的就是前面提到的recovery程序了,这个刷不同的recovery版本可以带来不同的功能,有兴趣的同学可以基 于recovery的源码自己编译出一个自己的recovery出来。但一般来说,刷recovery最主要的就是提Root权限。

system,是一般发布的ROM的主要功能程序分区了,我们说的ROM功能和自带程序的定制应该就是基于这个分区的修改和编译了。

userdata,用户数据,不说了。

cache,缓存,一般是用来OTA升级时的缓存,我们说刷SPL可以增加程序区的空间大小就是主要将这个区的大小缩水了然后加 大了程序区的分区大小。

三、一个典型ROM的剖析

我们平时升级的Rom都是打包成适合Recovery方式刷机的包。能够被Recovery程序识别并处理的包应该有一个固定的格式,我理解的一些 重要的约束如下:

1)必须是标准的zip压缩包;

2)recovery脚本必须存入在META-INF\com\google\android\update-script;

3)其它的一些证书和签名信息应该都放在\META-INF\下。

四、我们有没有可能自己定制ROM呢

理论上我们是可以自己定制的。

最简单的定制应该就是拿一个现有的认为还不错的基础ROM,替换一些资源,加一些系统自带程序,然后打包发布;

再玩高级一点,就应该自己去修改一些系统自带的程序,如汉化一些系统原始程序;

还玩高级一点,就应该自己到android官方站点去下载android系统的源码来编译,并基于系统级的定制和移植了,如现在火热的 android2.0源码编译系统移植。

如果是简单一点的自制ROM,主要应该会要解决如下几个问题:

1)选定一个比较好和稳定的内核和基础,就是update.zip包中的哪个boot.img,另外,system目录中大部分也是直接可用的,就 可以作为自定义Rom的基础。

2)修改系统。例如可以这样来定制的东西:system\etc\apns-conf.xml,这是设置APN接入点的;system\etc \hosts,这是设置Host文件的,现在有很多人用的包绑定不了GMail,就可以在这个Host文件中增加一条:74.125.93.113 android.clients.google.com (当然,这个地址能用多久也不好说)...还有什么东西要自己去定制就自己去翻看瞧瞧。

3)Rom的重新打包签名。前文已经介绍了一个Rom包的基本结构,但完全按照这个结构打包还是不能被Recovery安装的,因为没有签 名!Rom签名可以下载一个自动签名工具Auto-sign,具体到哪下,请Google。(注:Rom签名工具需要Java1.6支持,所以系统还得有 JRE1.6的环境)。

再往下就有点高深了,目前只留心一下这些基础的东西,错误在所难免,欢迎指正,拍砖轻些。

分享到:
评论

相关推荐

    Android平台ROM的定制及精简介绍

    ### Android平台ROM的定制及精简介绍 #### Android系统文件结构概述 在深入探讨如何定制与精简Android ROM之前,我们首先需要理解Android系统的文件结构。这对于任何希望修改或优化其设备性能的人来说都是至关重要...

    MIUI ROM定制教程

    ### MIUI ROM定制教程知识点详解 #### 序言与背景 - **教程目的**:旨在指导用户如何将MIUI ROM...无论是想要为自己的手机定制个性化的ROM,还是希望深入了解Android系统的内部工作原理,这份教程都将是宝贵的资源。

    MIUI_ROM定制教程

    这些知识点对于理解ROM的工作原理以及后续的定制工作至关重要。 在寻找合适的原厂ROM时,需要熟悉并了解手机移植机型,可以通过逛论坛和刷机来获取相关经验。找到合适的原厂ROM之后,还需要掌握如何修改boot.img和...

    【Nexus One 刷机ROM】机友的福中福!Android 2.3.3

    ### Nexus One 刷机ROM:Android 2.3.3 版本详解 #### 一、前言 随着智能手机技术的飞速发展,用户对于手机操作系统的要求也日益提高。为了满足用户的需求,各大手机厂商都会定期发布新版本的操作系统供用户升级。...

    Fastboot(Android刷机工具)

    由于Nexus系列手机由Google直接设计并支持,它们通常拥有最新的Android版本和开放的源代码,因此非常适合进行刷机和调试。在Nexus 5上使用Fastboot,可以实现对设备的个性化定制和系统升级。 3. **Fastboot命令** ...

    Android平台ROM的定制及精简教程最新版本

    本文档主要讲述的是Android平台ROM的定制及精简教程;本教程主要内容有:Android系统文件夹结构解析、应用软件说明、定制精简、ROM签名把包等内容。本教程测试平台为HTC G2、G3这两个型号,其它机型可以借鉴,刷机有...

    适用于三星N8000的Android 11版本的ROM(lineage-18.1-20210114-HTML6405-n8000.zip)

    我的老设备三星N8000安装APP总是提示包解析错误,究其原因还是系统Android版本太老旧(安卓4.1.2)。 最近把三星N8000升级成了Android 11,用网站( https://androidfilehost.com )提供的基于Android 11的ROM...

    Android平台ROM的定制及精简教程

    ### Android平台ROM的定制及精简教程 #### 一、Android系统文件夹结构解析 在开始探讨如何定制和精简Android ROM之前,首先需要理解Android系统的文件夹结构。这不仅有助于我们更好地掌握如何修改ROM,还能帮助...

    索爱x8(e51i)android刷机教程全解

    ### 索爱X8(E51i) Android刷机教程详析 #### 核心知识点解析 **一、理解刷机与系统升级** 刷机,对于安卓设备来说,指的是替换设备的操作系统或其核心组件的过程。对于索爱X8(E51i)这款手机而言,原生搭载的是...

    刷机精灵_for_Android

    《刷机精灵_for_Android:全面解析与应用指南》 刷机精灵,作为一个专为Android设备设计的系统升级工具,已经在广大安卓用户中积累了极高的人气。它以其简便的操作流程和强大的功能,使得用户能够轻松地对手机进行...

    android 刷机包修改 移植

    本文旨在深入探讨Android刷机包的修改与移植方法,帮助读者了解如何对现有的ROM包进行定制化调整,以满足特定设备的需求或实现个性化功能。我们将通过一个具体的案例——基于CM(CyanogenMod)官方编译的基础包进行...

    u880rom刷机包

    中兴U880ROM刷机包,是专门为中兴U880手机设计的一套系统更新或定制化方案,它允许用户通过替换原厂系统来获取更丰富的功能、优化性能或者修复已知问题。本文将深入探讨这一刷机包的细节,并提供刷机过程中的注意...

    安卓工具 ROM厨房

    这个工具允许用户根据个人喜好对Android ROM进行深度定制,打造出独一无二的手机系统。 **一、ROM厨房的功能** 1. **编译与构建**:ROM厨房的核心功能是编译Android源代码,将之转化为可安装的ROM。用户可以选择...

    可打开安卓img刷机包提取文件的小工具IMG浏览器

    "img"是Android刷机包的常见格式,它是一种包含整个系统镜像的文件,用户可以通过img文件对设备进行系统级别的升级或恢复。"刷机包"是指包含了完整系统镜像的文件,用于替换或更新设备上的现有系统。 【知识点详解...

    安卓8.1刷机包解包工具

    总的来说,"安卓8.1刷机包解包工具"是Android开发和自定义社区的重要资源,它提供了一个便捷的途径来处理BR格式的刷机包,使得用户可以更深入地探索和定制他们的设备。对于那些喜欢挖掘Android系统潜力的用户来说,...

    HTC G1 TIM 谷歌 Android 2.3、1.6刷机教程

    ### HTC G1 TIM 谷歌 Android 2.3、1.6 刷机教程解析 #### 概述 HTC G1,作为历史上第一款搭载Android系统的智能手机,其刷机教程一直是Android早期用户探索系统潜力的重要指南。本文将详细解析HTC G1刷机流程,...

Global site tag (gtag.js) - Google Analytics