码迷,mamicode.com
首页 > 移动开发 > 详细

提取安卓手机的recovery

时间:2015-12-29 19:12:47      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:

一直都是从网上下载的recovery文件安装到手机。至于这个小小的recovery到底是什么全然不知。能不能自己做一个recovery呢?因为功能比较多的clockworkmod(简称cmw)的官网上并没有提供我的机型下载,网上的版本是如何做出来的呢?

先找个recovery研究一下再说。

recovery.img 是一个镜像文件,想起了之前弄过的软盘镜像文件。找一个可以打开镜像的工具(winimage、ultraiso),打开里头有三个文件:bootimg-header.bin、bootimg-kernel.bin、bootimg-ramdisk.gz。根据字面意思,一个头和内核二进制文件、内存盘的压缩文件。

搜索了一下自制recovery教程,前面两个应该是内核,bootimg-ramdisk应该就是recovery程序。根据教程所谓的移植,难不成就是官方内核加上cmw的ramdisk。这个问题再放在一边。

先提取手机的recovery吧。我的手机型号是v880+,找到官网的支持下载。找到了三个文件:一个驱动、一个tf卡升级bin文件、一个(在电脑上)一键升级的文件。二进制文件(bin)没办法搞,一键升级的又是单独exe文件,却不知道怎么解开,先放弃。

试试如何从手机里提取出。

发现网上用调试工具(adb)可以对手机进行备份等操作。找到官方提供的驱动安装程序安装,安装成功后,可以在设备管理器里找到adb interface下有一个zte composite adb interface。另外在安装文件夹里有一个adb.exe的文件。

shift+右键单击文件管理器的空白处,选择“在此处打开命令窗口”。

打开手机的开发者调试选项。

执行adb,可以看到一些帮助信息,adb devices看看连接上没。

查看磁盘分区信息 adb shell,进入手机的shell,获取权限# su ,#cat /proc/mtd 可以查看到分区。似乎不同设备查看分区的方法不一样,具体这个分区又是个怎么回事也不清楚。

分区如下:

# cat proc/mtd
cat proc/mtd
dev:    size   erasesize  name
mtd0: 00500000 00020000 "recovery"
mtd1: 00500000 00020000 "boot"
mtd2: 00180000 00020000 "splash"
mtd3: 00080000 00020000 "misc"
mtd4: 02580000 00020000 "cache"
mtd5: 0dc00000 00020000 "system"
mtd6: 0a280000 00020000 "userdata"
mtd7: 01500000 00020000 "oem"
mtd8: 00180000 00020000 "persist"

把recovery导出来:

# cat /dev/mtd/mtd0 > /sdcard/recovery.img

就导出到sdcard里的recoery.img文件了。然后拉到电脑里来:adb pull /sdcard/recovery.img e:\android\v880plus-recovery.img

提取安卓手机的recovery

标签:

原文地址:http://www.cnblogs.com/mize/p/5086668.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!