【转】Android Recovery模式】的更多相关文章

转自android recovery模式及ROM制作 1.总述 为了方便客户日后的固件升级,本周研究了一下android的recovery模式.网上有不少这类的资料,但都比较繁杂,没有一个系统的介绍与认识,在这里将网上所找到的和自己通过查阅代码所掌握的东西整理出来,给大家一个参考! 2.Android启动过程 在这里有必要理一下android的启动过程: 图1 android启动过程 系统上电之后,首先是完成一系列的初始化过程,如cpu.串口.中断.timer.DDR等等硬件设备,然后接着加载b…
原文网址:http://leox.iteye.com/blog/975303 (muddogxp 原创,转载请注明) Recovery简介 Android利用Recovery模式,进行恢复出厂设置,OTA升级,patch升级及firmware升级. 升级一般通过运行升级包中的META-INF/com/google/android/update-script脚本来执行自定义升级,脚本中是一组recovery系统能识别的UI控制,文件系统操作命令,例如write_raw_image(写FLASH分区…
    最近在学习Android的Recovery模式,感觉它和Windows的安全模式很相似.两者的工作原理都是只加载少量的系统组件(内核是必须的),使系统运行在最小模式,这样就可以在不影响当前系统运行的情况下(因为运行时组件少而简单,对于Android,即使把/system/lib下的共享库都删掉,也不会影响当前系统的正常运行)方便地对外部存储设备(硬盘或Flash)的内容进行操作,比如替换或删除某个目录或文件,完成系统的升级或恢复. Windows 安全模式: http://baike.b…
Android recovery模式为何物? 关于这个问题, baidu上已经有无数的答案.不理解的朋友先补习一下. 从纯技术角度来讲, recovery和android本质上是两个独立的rootfs,  仅仅是recovery这个rootfs存在的意义就是为android这个rootfs服务,因此被解释为Android系统的一部分.  recovery作为一个简单的rootfs, 提供了很有限的几个功能,仅仅包括了几个简单的库,UI的显示採用的是直接刷framebuffer的形式,作为andr…
本文转载自:http://blog.csdn.net/mu0206mu/article/details/7464987  在使用update.zip包升级时怎样从主系统(main system)重启进入Recovery模式,进入Recovery模式后怎样判断做何种操作,以及怎样获得主系统发送给Recovery服务的命令,这一系列问题的解决是通过整个软件平台的不同部分之间的密切通信配合来完成的.为此,我们必须要了解Recovery模式的工作原理,这样才能知道我们的update.zip包是怎样一步步…
http://blog.csdn.net/luoshengyang/article/details/29688041 在回答第一个问题之前,我们先来看看Android设备从硬件到系统的结构,如图1所示: 图1 Android系统架构 最底层的是各种硬件设备,往上一层是Bootloader.Bootloader是什么概念呢?我们都知道,PC主板上有一小段程序叫做BIOS,主板加电时它是第一个跑起来的程序,负责初始化硬件,以及将OS启动起来.在嵌入式世界里(手机也是属于嵌入式设备),也有一小段类似B…
阅读完上一篇文章: http://blog.csdn.net/andyhuabing/article/details/9226569 我们已经清楚了如何进入正常模式和Recovery模式已有深刻理解了,假设进入了Recovery模式,那么其核心代码是怎么做的呢? 代码路径在 android 源码的根路径: bootable\recovery 其入口文件就是 recovery.c 中 main函数 下面就开始逐步了解其Recovery的设计思想: static const char *COMMAN…
做升级的时候,把更新包拷贝到sd卡中,然后调用接口进行重启升级 wossoneri.github.io File update_file = new File("/sdcard/update.zip"); try { Log.d("WOW", "install " + update_file.getAbsolutePath()); RecoverySystem.installPackage(getBaseContext(), update_fil…
Android recovery支持adb shell 近期开发过程注意到recovery不支持adb shell.为了便于调试方便,决定添加此功能. 刚開始我们採用的是user版本号系统,进入recovery后,输入adb shell命令.提示"error: no devices/emulators found".我们先确认recovery.img是否包括有adb,看out\debug\target\product\xxx\recovery\root\sbin是否有adb文件(源码\…
理论上,所有的Android设备都存在着Fastboot/Bootloader模式,不过,由于Android操作系统的开源特性,各厂商的对 自家的相关Android设备都有着各自不同的Fastboot/Bootlader模式.当然,并非所有的厂商的都会对旗下设备的Fastboot /Bootloader模式进行锁定.然而,大多数情况下,它们的Fastboot/Bootloader模式是锁定的.但是,值得称道的是,现在越来越多的厂商已渐渐向开发的Fastboot/Bootloader模式过渡,如H…