安卓平板电脑刷机和ROM原理

合集下载

从CM刷机过程和原理分析Android系统结构

从CM刷机过程和原理分析Android系统结构

从CM刷机过程和原理分析Android系统结构前面的文章都是分析Android系统源码,似乎不够接地气。

如果能让Android系统源码在真实设备上跑跑看效果,那该多好。

这不就是传说中的刷ROM吗?刷ROM这个话题是老罗以前一直避免谈的,因为觉得没有全面了解Android系统前就谈ROM是不完整的。

写完了101篇文章后,老罗觉得第102篇文章该谈谈这个话题了,并且选择CM这个有代表性的ROM来谈,目标是加深大家对Android系统的了解。

说起刷ROM的动机,除了上面说的用来看Android系统源码在真实设备上的运行效果,还有很多值得说的。

回想起PC时代,我们对我们自己拥有的设备(电脑),基本上能做的就是在上面重装系统。

这个系统是厂商做好给我们的,里面有什么我们就用什么,不能随心所欲地定制。

当然,如果你用的是Linux系统,你是可以随心所欲地对它进行定制的。

不过可惜的是,我们的女神用的都是Windows系统。

你和女神说你想要什么样的Linux系统,我给你定制一个,她会不知道你说的是什么——她需要的是一个不会中毒的又跑得快的Windows系统而已。

现如今虽然很多女神用的是仍然是我们不能随心所欲定制的iOS系统,但是在移动设备上,iOS系统毕竟不能做到Windows在PC那样的一家独大——我们还有不少女神是用Android系统的。

所以,如果你现在和女神说,我可以帮你刷一个专属的精简Android系统,里面没有一堆你不需要的预装软件,会让你的手机跑得很快,那女神得有多崇拜你啊。

当然,刷ROM的动机不能只是为了让女神崇拜,作为一个程序猿,我们的首要任务是维护宇宙和平。

怎么维护呢?至少程序有BUG不能不改吧。

你不改的话,老板是不会放过你的。

但是,碰到那些很棘手的BUG,怎么办呢?例如,你是一个Android应用开发者,调用一个API接口的时候,总是抛出一个异常,而这个异常不跟到API内部实现去看看实在是不知道什么原因造成的。

Android刷机原理之recovery内部工作原理

Android刷机原理之recovery内部工作原理

Android刷机原理之recovery内部工作原理现在Android版本更新太快,2.1是最普遍的版本,不过马上都开始升级2.2版本了,目前网路上提供了很多自制作的andorid ROM,通过刷机工具进行刷机,最普遍的是利用android的recovery机制进行update,现将recovery的内部工作原理摘录如下/** The recovery tool communicates with the main system through /cache files.* /cache/recovery/command - INPUT - command line for tool, one arg per line* /cache/recovery/log - OUTPUT - combined log file from recovery run(s)* /cache/recovery/intent - OUTPUT - intent that was passed in** The arguments which may be supplied in the mand file:* --send_intent=anystring - write the text out to recovery.intent* --update_package=root:path - verify install an OTA package file* --wipe_data - erase user data (and cache), then reboot* --wipe_cache - wipe cache (but not user data), then reboot * --set_encrypted_filesystem=on|off - enables / diasables encrypted fs** After completing, we remove /cache/recovery/command and reboot.* Arguments may also be supplied in the bootloader control block (BCB).* These important scenarios must be safely restartable at any point:** FACTORY RESET* 1. user selects "factory reset"* 2. main system writes "--wipe_data" to /cache/recovery/command* 3. main system reboots into recovery* 4. get_args() writes BCB with "boot-recovery" and "--wipe_data"* -- after this, rebooting will restart the erase --* 5. erase_root() reformats /data* 6. erase_root() reformats /cache* 7. finish_recovery() erases BCB* -- after this, rebooting will restart the main system --* 8. main() calls reboot() to boot main system** OTA INSTALL* 1. main system downloads OTA package to /cache/some-filename.zip* 2. main system writes "--update_package=CACHE:some-filename.zip"* 3. main system reboots into recovery* 4. get_args() writes BCB with "boot-recovery" and "--update_package=..."* -- after this, rebooting will attempt to reinstall the update --* 5. install_package() attempts to install the update* NOTE: the package install must itself be restartable from any point* 6. finish_recovery() erases BCB* -- after this, rebooting will (try to) restart the main system --* 7. ** if install failed *** 7a. prompt_and_wait() shows an error icon and waits for the user* 7b; the user reboots (pulling the battery, etc) into the main system* 8. main() calls maybe_install_firmware_update()* ** if the update contained radio/hboot firmware **:* 8a. m_i_f_u() writes BCB with "boot-recovery" and "--wipe_cache"* -- after this, rebooting will reformat cache & restart main system --* 8b. m_i_f_u() writes firmware image into raw cache partition* 8c. m_i_f_u() writes BCB with "update-radio/hboot" and "--wipe_cache"* -- after this, rebooting will attempt to reinstall firmware --* 8d. bootloader tries to flash firmware* 8e. bootloader writes BCB with "boot-recovery" (keeping "--wipe_cache")* -- after this, rebooting will reformat cache & restart main system --* 8f. erase_root() reformats /cache* 8g. finish_recovery() erases BCB* -- after this, rebooting will (try to) restart the mainsystem --* 9. main() calls reboot() to boot main system** ENCRYPTED FILE SYSTEMS ENABLE/DISABLE* 1. user selects "enable encrypted file systems"* 2. main system writes "--set_encrypted_filesystem=on|off" to* /cache/recovery/command* 3. main system reboots into recovery* 4. get_args() writes BCB with "boot-recovery" and* "--set_encrypted_filesystems=on|off"* -- after this, rebooting will restart the transition --* 5. read_encrypted_fs_info() retrieves encrypted file systems settings from /data* Settings include: property to specify the Encrypted FS istatus and* FS encryption key if enabled (not yet implemented)* 6. erase_root() reformats /data* 7. erase_root() reformats /cache* 8. restore_encrypted_fs_info() writes required encrypted file systems settings to /data* Settings include: property to specify the Encrypted FS status and* FS encryption key if enabled (not yet implemented)* 9. finish_recovery() erases BCB* -- after this, rebooting will restart the main system --* 10. main() calls reboot() to boot main system*/。

安卓刷机相关术语教程ROM、Root、Recovery(刷机常用基础名词讲解)

安卓刷机相关术语教程ROM、Root、Recovery(刷机常用基础名词讲解)

安卓刷机相关术语教程ROM、Root、Recovery(刷机常⽤基础名词讲解)什么叫"刷机"简单的说,就是给⼿机重装或升级系统。

在科技⽇新⽉异的今天,智能⼿机就是⼀台电脑。

刷机可以达到升级系统、增加功能、提升性能、美化等⽬的。

ROMROM也叫刷机包或者固件,是⼀个⼿机系统刷机的安装来源,也有些ROM只是提供了升级系统和补丁的功能。

ROOTROOT是系统中的最⾼权限,是安卓⼿机系统中的超级管理员,可对⼿机系统进⾏深度操作。

只有具备ROOT权限的⼿机才可以进⾏刷机、备份、还原等操作。

Recovery某些较底层的操作是⽆法在正常开机的状态下进⾏的,就好像在 Windows 开机时⽆法将系统盘(C盘)格式化⼀样,这时候就需要进⼊到⼀个临时的系统中来进⾏这些操作,⽽这个"临时系统"就是我们所说的Recovery,Recovery 类似 Windows 启动前的 DOS 或 PE 系统。

当你买到全新的 Android ⼿机时,已经拥有Recovery,不过官⽅的 Recovery 通常除了可以⽤来清空⽤户数据外,是⽆法进⾏刷机等操作的,所以这时候需要事先刷⼊⼀个第三⽅ RecoveryRadio基带Radio可以理解为我们的电脑⽹卡中的固件(⽽不是驱动),升级后或许可以提升⽆线性能(包括电话信号、GPS、WIFI、蓝⽛等信号)或改进耗电⽔平等,某些较新的 ROM 也需要升级 Radio 后才可使⽤。

之所以说"或许"可以提升和改进,是因为需要合理搭配ROM和 Radio才可发挥出最好的效果。

S-OFFS-OFF 指的是 HBoot(系统的引导层,就好像电脑中的 BIOS)中的⼀种安全标识。

其中"S"表⽰"Security Lock(安全锁)","OFF"就是关闭了的意思,⽽ ENG 是"Engineer"的缩写。

平板电脑怎么刷机安卓平板电脑刷机教程

平板电脑怎么刷机安卓平板电脑刷机教程

平板电脑怎么刷机安卓平板电脑刷机教程平板电脑怎么刷机安卓平板电脑刷机教程•【导语】:平板电脑怎么刷机?平板电脑如何刷机?在试用中,一月到电脑卡,我们就无比分烦躁,问朋友怎么解决,他就给两个字,刷机,可这怎么刷啊,我又没试过,别急,看平板电脑怎么刷机?平板电脑如何刷机?在试用中,一月到电脑卡,我们就无比分烦躁,问朋友怎么解决,他就给两个字,刷机,可这怎么刷啊,我又没试过,别急,看了我这篇经验分享,你就懂了。

平板电脑有着手机所有的功能,已将超越手机。

我们为了能更好的物尽所用一定要照顾好我们的平板,要让它的功能能超100%的发挥出来,如此方便携带简介的平板电脑,我们怎么能让系统内存束缚它,如果你忘记了密码,还需要去给钱让别人为你解开吗。

所以了解平板电脑怎么刷机就成了必备的生存技能了。

【平板电脑怎么刷机】从来没刷机的的小白,你有以下疑问吗?什么是“刷机”什么是“ROM”什么是“ROOT”什么是“Recovery”什么是USB调试模式?如何打开USB调试模式?刷机会不会损坏我的设备?刷机中途能拔掉数据线吗?其实,以上概念你都无需全部了解,只需要了解“如何打开USB 调试模式?”就可以了。

因为现在的刷机都是软件一键刷机了,但为了能让小白们了解更透切,我来解析一下:什么是“刷机”最简单的解释是:给平板重装系统或者升级系统,类似我们的PC 重装系统!什么是“ROM”ROM也称为固件,ROM就好比电脑装系统时所需的安装盘,刷机就是把ROM安装到平板电脑中,达到更新平板电脑系统的目的什么是“ROOT”Root权限跟我们在Windows系统下的Administrator权限可以理解成一个概念。

Root是Android系统中的超级管理员用户帐户,该帐户拥有整个系统至高无上的权利。

只有拥有了这个权限我们才可以执行刷机和备份还原等操作。

平板刷机刷机教程

平板刷机刷机教程

平板刷机刷机教程平板刷机是指将原厂自带的操作系统替换成其他优化的系统或者升级系统版本的操作过程。

刷机能为平板带来更好的性能、更好的用户体验和更多的功能特性。

下面是一个关于平板刷机的教程,共500字。

平板刷机教程:第一步:备份数据在刷机前,第一件要做的事情就是备份平板上的重要数据,包括联系人、短信、照片、音乐等,可以通过连接电脑、使用云服务或者专门的备份应用来完成。

第二步:选择合适的ROMROM(Read-Only Memory)是指刷机后将替换平板自带的操作系统的系统镜像文件。

在选择ROM时,首先要保证其兼容平板型号,并且是来自可靠的源,以避免安全风险。

可以在网上的论坛、ROM官网或ROM开发者的网站上找到合适的ROM。

第三步:破解平板刷机前,需要对平板进行破解,以获取对系统的完全控制权限。

具体的破解方法会因平板型号和ROM而有所不同,可以通过搜索平板型号+破解方法来获取相关教程。

常见的破解方法包括Root、解BL锁等。

第四步:刷入新的ROM在准备好ROM后,可以通过连接平板到电脑或者通过SD卡等方式将ROM文件传输到平板上。

在余下的操作中,将会使用到刷机工具(例如Recovery或者刷机工具箱),以及在平板进入Recovery模式的情况下进行刷机。

具体的刷机步骤可以参考ROM官网提供的教程或者相关论坛上的教程。

第五步:清除缓存和数据刷入新的ROM后,建议清除平板上的缓存和数据,以确保平板能够正常运行。

在Recovery模式下,选择“清除缓存”和“清除数据/恢复出厂设置”操作。

第六步:重启平板完成上述步骤后,重新启动平板。

首次启动可能会较慢,请耐心等待。

在启动后,可以按照自己的需求进行一些基本设置,如联网、安装应用等。

总结:平板刷机是一项对平板系统进行个性化定制和优化的操作。

刷机前需要备份数据,并选择合适的ROM。

然后进行破解和刷入新的ROM。

最后清除缓存和数据,并重新启动平板。

需要注意的是,刷机有一定风险,操作时需要谨慎,遵循相关教程或者咨询专业人士的建议。

【转】台电x983G平板刷机、升级、ROOT详解及教程

【转】台电x983G平板刷机、升级、ROOT详解及教程

【转】台电x983G平板刷机、升级、ROOT详解及教程很多x98 3G用户平板的用户询问如何刷机?如何ROOT的问题?下面就本人的经验谈谈如何做。

一、刷机刷机如果并非必要,请尽量不要刷。

特别是没有相关知识的用户更是需要当心。

如果其中某一步出错,可能你的机器就只能当砖头使用了。

一般来说刷机分为线刷和卡刷。

1.所谓线刷就是将终端设备(平板或手机)通过USB连接到电脑,在电脑上运行刷机程序向终端设备写入数据来完成。

由于刷过程基本上都是通过USB连线完成的,所以称之为线刷。

在线刷的过程中,一定要确保终端始终连接到电脑,数据能够正常写入设备。

2.卡刷就是将刷机包事先保存到存储卡,通过终端设备的刷机程序(recovery)将卡上的数据包刷入。

由于数据是预先放到存储卡,所以刷机过程中可以断开电脑的连接也没问题。

一般来说,卡刷程序recovery又分为官方和第三方刷机程序(典型的如CWM recovery、TWRP Recovery、MIUI Recovery)。

官方刷包需要专门的数据检验,民间通常做不了这种包。

而民间所作的刷包一般需要第三方的刷机程序来完成。

像台电的OTA,就是通过升级程序将官方刷包下载到储存卡,然后进入recovery 刷入升级包就是这种卡刷方式。

这里我主要介绍一下x98 3G的刷机过程。

首先检查刷机用电脑的驱动是否安装正常,如果不正常请先安装电脑的所有驱动直到正常为止(我曾经帮一位机友远程检查他的设备驱动,发现他的电脑上十来个设备没有安装驱动,特别是USB3.0驱动。

)。

主要的原因这些驱动没有安装,系统总线就不识别新插入的设备。

导致终端设备插入电脑可能不能正常完整安装驱动程序,更别谈刷机了。

线刷需要在电脑上安装USB驱动程序,主要是ADB。

台电x983G的驱动有三种状态都是不一样的。

一是写入fastboot等的状态、二是进入fastboot后继续刷机的状态,还有就是系统正常运行后的状态。

写入fastboot就是当按下音量+、-和电源键后进入的状态。

平板电脑刷机教程(转)

平板电脑刷机教程(转)

平板电脑刷机教程(转)作者:丨丶灬折腾ゝ 2013 年 8 月 22 日平板电脑知识 18 条评论刷机,一个非常神奇的词语,基本上你#平板电脑#碰到的所有问题都可以刷机搞定。

比如开不了机进不去系统,忘记解锁密码,卡,反应慢等;你打客服电话多数情况下也会要求你先刷机试试。

刷机真的这么神奇么?那么要怎样给平板电脑刷机呢?今天就跟大家普及下平板电脑刷机的知识。

什么叫刷机?刷机简单说就是给平板电脑重装系统,跟电脑重装系统一样。

正常情况下,只要硬件没有问题,那么就9 9.99%可以通过刷机搞定你平板上碰到的问题。

(你快递回厂其实也就给你重新刷次机,硬件没问题的情况下)刷机一般分为软刷、卡刷、线刷和厂刷四种。

国产平板电脑最常见的方法还是线刷(用数据线连接到电脑上刷机的方式,现在也有些厂家在搞OTA升级的方式,那个更简单,平板里面点一下就行了。

);其他几种,软刷就是用一些专门的刷机软件傻瓜刷机,就像Ghost XP那种一键安装系统到C盘类似的感觉,不过目前国产平板基本上都不支持,不建议尝试这种方法。

卡刷,部分平板使用这种方法,就是直接把固件下载到平板或者外置TF卡,然后按音量和电源键进行刷机,不需要借助电脑的一种方式,手机采用卡刷的比较多,平板是否支持卡刷要看官方的说明。

厂刷就是发回工厂用专门的软件和工具给你刷机,彻底成砖后估计就需要这个方式了。

平板电脑怎么刷机?首先第一步:到自己平板官方网站下载你机子对应的固件包。

常见平板的固件下载地址:昂达平板固件下载、台电平板固件下载、蓝魔平板固件下载、艾诺平板固件下载、原道平板固件下载、酷比魔方平板固件下载、智器平板固件下载、五元素平板固件下载、纽曼平板固件下载、欧恩平板固件下载、普耐尔平板固件下载、品铂平板固件下载、平板盒子论坛固件下载提示:如果你是山寨机平板,那么估计找不到对应的固件,打电话看看能不能找不到厂家,要是找不到就丢了吧。

第二步:根据固件包里面的教程给平板电脑刷机。

安卓平板电脑什么叫刷机

安卓平板电脑什么叫刷机

平板之家
安卓平板电脑什么叫刷机
刷机,基本上所有的数码产品都会牵涉到刷机这个概念,刷机是指通过一定的方法更改或替换安卓平板电脑原系统中的语言、图片、铃声和软件版本或者操作系统,刷机包有官方版的,因为安卓的开源性,更多的是非官方版的。

通俗的理解,刷机就是改变你安卓平板电脑操作系统的一种行为,就相当于我在使用电脑很长一段时间后,电脑运行速度越来越慢,我们重装系统,或者从XP升级WIN 7一样,安卓平板电脑也可以重刷同版本或从Android3.0升级到Android4.0系统。

从某种意义上来说,通过刷机可以提高运行速度,功能更优化、更完善、甚至更有特色!但有些由于安卓平板电脑由于配置过低,在升级之后反而会运行速度快的情况,请根据你机型各网友刷机反馈情况再选择是升级刷机还是同版本刷机。

如果喜欢刷机的朋友一定要选择品牌的安卓平板电脑,因为只有品牌厂商才会更多的推出官方升级包,民间ROM制作高手都集中在畅销的安卓平板电脑上,经常有网友问我一些我从来都没有听说过牌子的安卓平板电脑怎么刷机,我就无语了...
本文来源:/article/2012/031412366.html。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

安卓平板电脑刷机和ROM原理
从2009年谷歌发布Android1.5开始,基本每半年都有一个版本的更新,每次更新都有新的功能,并不断的提交了用户的体验,这样导致现在的安卓手机及安卓平板电脑更新换代速度越来越快,想想刚买的平板电脑,半年后别人购买就是新版本的,是不是老感觉跟不上时代呢?今天小编告诉你,来到平板之家没错,今天告诉大家如何紧跟Android,让自己的平板电脑永远都是新版系统。

一、刷机原理
刷机之前,我们首先应该要知道刷机的原理,还记得小编第一次刷机时,还特意找一个专家级人物,但还是非常紧张,生怕变砖。

其实紧张什么呢?就是因为不明白原理啊,只看到一堆的教程来依葫芦画瓢,生怕错了一步将变砖。

其实我们用正确的方法去刷机,并不会出现变砖的情况的
说起来,刷机就是两种方法:
一是recovery方法,就是将update.zip入到SD卡,然后alt-s的方法,这种方法是调用了recovery的方法将各种img或文件进行复制等操作。

二是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 (当然,这个地址能用多久也不好说)...还有什么东西要自己去定制就自己去翻看瞧瞧。

3)Rom的重新打包签名。

前文已经介绍了一个Rom包的基本结构,但完全按照这个结构打包还是不能被Recovery安装的,因为没有签名!Rom签名可以下载一个自动签名工具Auto-sign,具体到哪下,请Google。

(注:Rom签名工具需要Java1.6支持,所以系统还得有JRE1.6的环境)。

相关文档
最新文档