查看: 31012|回复: 191
打印 上一主题 下一主题

[玩机教程] 【科普向】<Nexus

    [复制链接]

22

主题

0

好友

376

积分

大学专科

Rank: 5Rank: 5

该用户从未签到

G币
44
最后登录
2016-12-14
注册时间
2012-12-7

IP 编辑 禁止 帖子 清理

跳转到指定楼层
楼主
发表于 2013-2-13 17:33 |只看该作者 |倒序浏览
本帖最后由 諫山黄泉 于 2013-8-28 08:08 编辑

/**
*
转载请注明出处: http://bbs.gfan.com/android-5795118-1-1.html
*
* - 0730, 更新至4.3
*
* 这帖子会给出一个详细的, 刷写 Google开发者网站上放出的工厂镜像的过程.
* 按照这里的步骤, 可以让你的N4几乎恢复到和刚出厂时一样~
* 而这个过程, 也是就通常的刷机过程...
* 鉴于目前自制ROM基本以zip压缩文档的方式发布...这个过程也就只是用来刷原生ROM了...
*
* Note:
* 1, 有很多一键教工具可以让刷机变得无脑, 但是我还是想写这样一个详细到每个步骤的帖子,
*     在使用一键工具前对整个过程有一个详细的了解是必要的.
* 2, 抽时间阅读下前置知识: http://bbs.gfan.com/android-5576468-1-1.html
* 3, 略长...且整个帖子枯燥乏味, 图片极少, 文字极多...纯手工向教程...
* 4, 大部分命令后都标有注释, 便于理解...请不要忽略注释部分...
*
* 附上一些常用工具的地址:
* SuperSU: http://forum.xda-developers.com/showthread.php?t=1538053
* CWM: http://www.clockworkmod.com/rommanager
* TWRP: http://techerrata.com/browse/twrp2/mako
* Google工厂镜像: https://developers.google.com/android/nexus/images
* 另一个工厂镜像: http://www.randomphantasmagoria.com/firmware/nexus-4/occam/
* gapps和一堆别的: http://goo.im/
*/

Step-by-step

Notes:
1, 对于新手: 务必读完帖子后再去尝试.

A. 安装驱动

1) 不要用XX助手提供的驱动, 除非你对他充满信心. 以防万一, 卸载掉这些第三方驱动
2) 下载这里 提供的驱动.
3) 按论坛置顶贴里的方法安装驱动( 大体来说就是: 设备管理器, 在设备名上右键, 更新驱动, 手动选择文件夹....), 注意, 你需要安装2次驱动: 开启USB调试连接电脑一次, 启动到bootloader连接到电脑一次, 为什么
PS: N4板载驱动就是目前的最新版本, 但是考虑到自动安装驱动的不稳定, 还是手动安装下比较安心

B. 备份自己的数据

1) 随便什么方法, 比方说用Titanium_Backup备份联系人, 短信, APP和数据, 然后手动备份/sdcard里的图片, 文档, 音乐, ***什么的...
2) 按照下面的步骤, 会wipe掉你的全部数据, 包括/sdcard, 所以一定要做好备份工作后再动手
3) XX助手之类的也可以备份吧? (没用过)

C. 下载所需的文件

1) 所有会用到的文件, 请务必放在同一个文件夹下, 文件夹名字随意( 尽量避免使用中文), 文件夹路径中尽量避免包括中文
2) 下载 android-adb_fastboot-16.01.zip (539.13 KB) <- 就是: fastboot.exe和ADB什么的
3) 从 这里 下载工厂镜像, 或者这里: Random Phantasmagoria, 注意你下载的是occam开头的, Nexus 4的镜像.
    ( 4.3为: occam-jwr66v-factory-08d2b697.tgz, 附上网盘: http://pan.baidu.com/share/link?shareid=1267491051&uk=3540473720 )
4) 用7-zip, 或者保证你的winRAR版本较新, 就没什么问题...
5) 把第三步下载回来的 工厂镜像 及 android-adb_fastboot-16.01 都解压到同一文件夹中
    然后把解压出来的 image-occam-jwr66v.zip 也解压到这里 ( image-occam-jwr66v.zip -> boot.img, recovery.img, system.img, userdata.img)
   
    看起来应该是这样的~
捕获1.PNG

6) 手机重启到bootloader ( 开机时按住 音量- 和电源键, 直到看到android机器人为止), 连接电脑
7) 在上面那些文件所在的文件夹里, 按住shift然后右键, 选择在此处打开命令行窗口.

D. 输入指令

0) 其实你可以直接运行zip包中的flash-all.bat...但是这有违我们的初衷, 所以请按照以下步骤一步一步来
1) 输入: fastboot devices 来确定你的手机已经正确连接                                                     
2) 解锁bootloader(如果你还没有解锁): fastboot oem unlock
3) 你的手机会提醒你...This will wipe your entire device (including the /sdcard folder) , 意思说你要是敢点确定, 你手机里的东西就都完蛋啦...如果没备份的话, 赶快回去备份, 然后用音量键选择, 电源键确定...
4) 重启: fastboot reboot-bootloader
5) 刷写bootloader: fastboot flash bootloader bootloader-mako-makoz20i.img                   //fastboot flash bootloader xxx.img, xxx为bootloader镜像的名字, 用来刷写bootloader
6) 重启: fastboot reboot-bootloader                                                                                  //重启bootloader
7) 刷写radio: fastboot flash radio radio-mako-m9615a-cefwmazm-2.0.1700.84.img          //fastboot flash radio xxx.img, xxx为radio镜像的名字, 用来刷写radio
8) 重启: fastboot reboot-bootloader                                                                                 //重启bootloader
9) 刷写system区块: fastboot flash system system.img
10) 可选, 刷写data区块: fastboot flash userdata userdata.img                                           //这条命令会wipe掉包括/sdcard中的所有数据
11) 刷写 kernel 和ramdisk: fastboot flash boot boot.img                                                   //用来刷写kernel, 刷完第三方kernel想恢复时, 重新刷写boot.img即可
12) 可选, 刷写recovery: fastboot flash recovery recovery.img                                         //用来刷写recovery
13) 擦除cache区块: fastboot erase cache                                                                        //fastboot erase <partition>用来wipe cache , data, system...
14) 重启: fastboot reboot
15) 这次启动用时会比较多( 10多秒吧...), 因为android在建立Dalvik cache.

现在你的N4除了是已经解锁bootloader之外, 和它刚出厂时几乎一样了, 有强烈需求的话, 你也可以用: fastboot oem lock 来重新锁定bootloader.

贴出压缩档中 flash-all.bat 的内容, 加上注释:
::只是一个简单的批处理, 写上注释供新手与上面步骤对照用
PATH=%PATH%;"%SYSTEMROOT%\System32"                                                                        ::添加环境变量
fastboot flash bootloader bootloader-mako-makoz10o.img                                                           ::刷写bootloader
fastboot reboot-bootloader                                                                                                          ::重启
ping -n 5 127.0.0.1 >nul                                                                                                              ::延时
fastboot flash radio radio-mako-m9615a-cefwmazm-2.0.1700.48.img                                          ::刷写radio
fastboot reboot-bootloader                                                                                                          ::重启
ping -n 5 127.0.0.1 >nul                                                                                                              ::延时
fastboot -w update image-occam-jdq39.zip                                                                                  ::刷写: boot.img, recovery.img, system.img,
                                                                                                                                                    ::         userdata.img

echo Press any key to exit...
pause >nul
exit                                               

/**
* - 如果卡在 X 那个界面很长时间, 请重启, 进入bootloader, 音量键选择, 电源键确定 进入recovery, 你会看到一个躺在地上的android机器人肚子上有一个红色感叹号...咳咳...
*   然后 先按着电源键, 再按下音量+ 打开recovery菜单, 选择 wipe cache, 重启;
*   如果重启后依然卡在 X 那个界面上, 再次进入recovery, 选择 factory reset, 重启
*
* - 如果出现16G变8G的情况, 请进入recovery, wipe cache, 然后factory reset, 重启, 如果没有依然没有起作用, 按照下面的步骤来:
*   1) 启动到bootloader, 连接电脑
*   2) 在刚才那个文件夹...就是fastboot.exe所在那个...按住shift, 然后右键, 然后选择 在此处打开命令行
*   3) 输入: fastboot devices                                                                                  //确认手机正确连接
*   4) 输入: fastboot erase boot                                                                             //擦除: boot区块
*   5) 输入: fastboot erase cache                                                                           //擦除: cache区块
*   6) 输入: fastboot erase recovery                                                                      //擦除: recovery区块
*   7) 输入: fastboot erase system                                                                         //擦除: system区块
*   8) 输入: fastboot erase userdata                                                                       //擦除: userdata区块
*   9) 输入: fastboot flash bootloader bootloader-mako-makoz20i.img                   //刷入: bootloader
*   10) 重启: fastboot reboot-bootloader                                                               //重启bootloader
*   11) 待重启后输入: fastboot -w image-occam-jwr66v.zip                                  //刷入: boot.img, recovery.img, system.img, userdata.img
*/

E. 可选: root

1) 下载CMW或者TWRP
2) 重命名为 customrecovery.img 丢到刚才那个文件夹里,
3) 下载SuperSU (http://forum.xda-developers.com/showthread.php?t=1538053), 并拷贝到你的N4里
4) 重启N4到bootloader
5) 打开命令行, 输入: fastboot -c "lge.kcal=0|0|0|x" boot customrecovery.img  <- 这步的作用是: 以customrecovery.img启动, 并不是刷入; 如果想要刷入的话, 改成: fastboot flash recovery customrecovery.img
    PS: 出于某种考虑, z20i 版本的bootloader已经不能使用 fastboot boot customrecovery.img 的方法来由customrecovery.img启动了,
    果想从 .img 启动, 得用命令:fastboot -c "lge.kcal=0|0|0|x" boot customrecovery.img
6) N4会以customrecovery.img启动, 然后找到类似于: update zip from sdcard的选项, 选择刚才拷贝到N4里的zip, 确定.     
7) 重启

F. 可选: 安装busybox

0) 什么是busybox: http://zh.wikipedia.org/zh-cn/BusyBox; root需要
1) 从这里: http://www.busybox.net/downloads/binaries/ , 或者里: https://code.google.com/p/yangapp/ 下载busybox
    推荐后者, 后者对android做过一些调整 busybox-1.20.rar (646.58 KB)
2) 解压, 将 busybox-1.20.2r2 拷贝到手机中.
3) 开启USB调试 (连续点击 设置 -> 关于手机 -> 版本号 7下, 你才能召唤神龙...额...是开启开发者选项...) , 返回设置, 就会发现多出来开发者选项, 进去, 勾选USB调试
    连接电脑, 在( adb.exe, AdbWinApi.dll, AdbWinUsbApi.dll) 所在的文件夹中按下shift, 然后点击右键, 选择 在此处打开命令行
4) 输入: adb devices                                                                                                //确定手机正确连接, 这时手机会弹出授权提示, 确定
4) 输入: adb shell                                                                                                     //开启一个shell
5) 输入: su                                                                                                               //取得root权限, 手机上SuperSU会有授权提示 ,确定
6) 输入: mv /mnt/sdcard/busybox-1.20.2r2 /mnt/sdcard/busybox                          //重命名 busybox-1.20.2r2 为 busybox...
7) 输入: mount -o remount,rw -t ext4 /dev/block/mmcblk0p21 /system                   //挂载/system
8) 输入: cp /mnt/sdcard/busybox /system/xbin                                                       //拷贝 busybox 到/system/xbin
9) 输入: cd /system/xbin                                                                                          //切换到 /system/xbin
10) 输入: chmod 755 busybox                                                                                  //修改busybox权限
11) 输入: busybox --install /system/xbin                                                                    //安装到/system/xbin, --install 后跟要安装到的目录
12) 安装完毕, 可以输入: ll , 会发现多出很多命令的执行文件...

PS: 在手机上也可以安装的~安装terminal emulator, 拷贝busybox到N4, 打开terminal emulator, 然后从第5步开始, 命令是完全一样的哦~既然已经开始关注busybox, 不妨去看看常见的Linux命令吧...

G. ADB

    不要忽视adb, 这两个工具联合起来是很强大的...adb 最常用的就是:
1) adb shell                                           //打开一个shell窗口, 然后就可以使用常见的shell命令来操作...例如, 上面的安装busybox的过程
2) adb push <local> <remote>            //将本地 文件/文件夹 拷贝到手机上指定的位置, <local> 为想要拷贝的 文件/文件夹 的相对路径或绝对路径, <remote> 为向要拷贝到的位置...
                                                            //例如, 将adb所在文件夹下的 xxx.zip 拷贝到手机 /sdcard 下可以输入: adb push xxx.zip /sdcard/ 或者 adb push x:\xxxx\xxx\xxx.zip /sdcard/
3) adb pull <remote> [<local>]            //将手机中的文件, 拷贝到电脑的指定位置, <remote> 为想要拷贝的 文件/文件夹 绝对路径, [<local>] 为想要拷贝到的位置, 不写的话, 默认为当前目录
4) CMW 和 TWRP 包括原生recovery( 雾...) 是支持adb的...进入recovery, 然后连接电脑, 输入: adb devices , 会显示手机的接入方式是: recovery...
    举个栗子: 在某次替换文件之后无法进入系统, 除了刷一遍system.img之外, 还有什么办法?
    你可以启动CMW, 或TWRP...然后连接电脑...然后用 adb push 将正确的文件拷贝到 /sdcard, 然后 adb shell , 挂载 /system, 将正确的文件替换过去...
    再举个栗子: 系统启动不了但是有想要把卡里的文件备份出来, 就可以启动CMW, 或TWRP...连接电脑, 然后用 adb pull 来吧文件拷贝出来...

H. 其他

1) 希望你看到这里, 已经对fastboot的常见用法烂熟于心, 对刷机过程有一个清晰的了解; 有人用tookit, 有人用fastboot和adb...你喜欢那个...?
2) bootloader, radio, system, boot, userdata, recovery  每个区块都可以单独刷写, 因为他们的位置以及大小是固定的.
system -> /dev/block/mmcblk0p21
recovery -> /dev/block/mmcblk0p7
userdata -> /dev/block/mmcblk0p23
cache -> /dev/block/mmcblk0p22
boot -> /dev/block/mmcblk0p6

3) 以刷recovery为例: fastboot flash recovery xxxx.img ( 个人推荐触屏版TWRP和按键版CMW..) ( xxxx.img 为recovery镜像名) <- 格式为: fastboot flash <partition> [ <filename> ]

Notes:

0) 上面几乎囊括了, 刷机时, 你所需要了解的全部过程; 第三方ROM常为zip压缩包, 用CMW或TWRP直接安装即可.
1) 如果想要正常接收OTA并自动安装的话, 你必须保证 bootloader, radio, boot, radio 和 recovery 的镜像是原生ROM中所提供的.
2) (新手请不要尝试)跳过步骤D中的10, 可以保留APP数据( 取决于是什么APP) 和/sdcard中的文件, 但是当你卡在启动界面上时, 你就得进入CMW或者TWRP, 然后wipe data <-这会wipe掉你APP的数据, 但不会wipe 掉/sdcard
3) 没有必要重新锁定bootloader, unlock bootloader完全不会影响ROM的功能, 也不会影响OTA

>>> 很高兴看到有人愿意了解并亲手折腾这些东西...
>>> 觉着有用, 记得 回帖, 加分, 收藏...
14

查看全部评分

分享到:
Nexus 4常见问题解答: http://bbs.gfan.com/android-5576468-1-1.html
教程: http://bbs.gfan.com/android-5795118-1-1.html
安卓游戏水果忍者  htc g13 root权限获取

22

主题

0

好友

376

积分

大学专科

Rank: 5Rank: 5

该用户从未签到

G币
44
最后登录
2016-12-14
注册时间
2012-12-7

IP 编辑 禁止 帖子 清理

沙发
发表于 2013-2-13 19:48 |只看该作者
Nexus 4入门与常见问题解答: http://bbs.gfan.com/android-5576468-1-1.html
Nexus 4常见问题解答: http://bbs.gfan.com/android-5576468-1-1.html
教程: http://bbs.gfan.com/android-5795118-1-1.html
甜甜私房猫壁纸  安卓rmvb播放器

3

主题

0

好友

249

积分

大学专科

Rank: 5Rank: 5

该用户从未签到

G币
594
最后登录
2016-8-2
注册时间
2012-12-3

IP 编辑 禁止 帖子 清理

板凳
发表于 2013-2-13 20:14 |只看该作者
学习中~~
手机cmcc登陆界面  金山卫士手机版

23

主题

1

好友

1741

积分

硕士

Rank: 9Rank: 9Rank: 9

  • TA的每日心情
    无聊
    2014-5-17 11:43
  • 签到天数: 1 天

    [LV.1]初来乍到

    G币
    422
    最后登录
    2016-8-2
    注册时间
    2011-12-18

    IP 编辑 禁止 帖子 清理

    地板
    发表于 2013-2-13 21:24 |只看该作者
    1) 如果想要正常接收OTA并自动安装的话, 你必须保证 bootloader, radio, boot, radio 和 recovery 的镜像是原生ROM中所提供的.

    如果删除过SYSTEM里面的APP文件呢?
    我就删除了GOOGLE的一些软件。。还有换了字体。
    优酷不能全屏  机锋论坛区

    10

    主题

    0

    好友

    1316

    积分

    研究生

    Rank: 8Rank: 8

    该用户从未签到

    G币
    300
    最后登录
    2016-8-2
    注册时间
    2011-6-7

    IP 编辑 禁止 帖子 清理

    5
    发表于 2013-2-13 21:29 来自手机 |只看该作者
    谢谢分享!
    安卓平台  机锋市场安卓版

    22

    主题

    0

    好友

    376

    积分

    大学专科

    Rank: 5Rank: 5

    该用户从未签到

    G币
    44
    最后登录
    2016-12-14
    注册时间
    2012-12-7

    IP 编辑 禁止 帖子 清理

    6
    发表于 2013-2-13 21:58 |只看该作者
    輕若浮雲 发表于 2013-2-13 21:24
    1) 如果想要正常接收OTA并自动安装的话, 你必须保证 bootloader, radio, boot, radio 和 recovery 的镜像是 ...

    会收到OTA, 但是升级的时候会提示出错...
    所以, 最好的方法是: 把不想用的APP停用, 而不是彻底删除...反正停用了的话, 也看不到...眼不见心不烦...
    Nexus 4常见问题解答: http://bbs.gfan.com/android-5576468-1-1.html
    教程: http://bbs.gfan.com/android-5795118-1-1.html
    声美e10m  因特尔浏览器

    23

    主题

    1

    好友

    1741

    积分

    硕士

    Rank: 9Rank: 9Rank: 9

  • TA的每日心情
    无聊
    2014-5-17 11:43
  • 签到天数: 1 天

    [LV.1]初来乍到

    G币
    422
    最后登录
    2016-8-2
    注册时间
    2011-12-18

    IP 编辑 禁止 帖子 清理

    7
    发表于 2013-2-13 22:07 |只看该作者
    諫山黄泉 发表于 2013-2-13 21:58
    会收到OTA, 但是升级的时候会提示出错...
    所以, 最好的方法是: 把不想用的APP停用, 而不是彻底删除...反 ...

    到时试一试吧。
    之前不知道有停用这个功能。
    就直接删除了,后来才发现原来可以停用的。。。
    s5570  acer liquid

    22

    主题

    0

    好友

    376

    积分

    大学专科

    Rank: 5Rank: 5

    该用户从未签到

    G币
    44
    最后登录
    2016-12-14
    注册时间
    2012-12-7

    IP 编辑 禁止 帖子 清理

    8
    发表于 2013-2-13 22:17 |只看该作者
    輕若浮雲 发表于 2013-2-13 22:07
    到时试一试吧。
    之前不知道有停用这个功能。
    就直接删除了,后来才发现原来可以停用的。。。

    ...我也删过...嘿嘿...
    Nexus 4常见问题解答: http://bbs.gfan.com/android-5576468-1-1.html
    教程: http://bbs.gfan.com/android-5795118-1-1.html
    脚本精灵  三星note2怎么连接电脑

    24

    主题

    0

    好友

    535

    积分

    大学本科

    Rank: 6Rank: 6

  • TA的每日心情
    开心
    2016-12-3 11:37
  • 签到天数: 308 天

    [LV.8]以坛为家I

    G币
    3869
    最后登录
    2016-12-3
    注册时间
    2013-2-3

    IP 编辑 禁止 帖子 清理

    9
    发表于 2013-2-14 10:48 |只看该作者
    问个小白问题我不装驱动可以下载软件吗
    不可抗拒的拼音  符文大师

    22

    主题

    0

    好友

    376

    积分

    大学专科

    Rank: 5Rank: 5

    该用户从未签到

    G币
    44
    最后登录
    2016-12-14
    注册时间
    2012-12-7

    IP 编辑 禁止 帖子 清理

    10
    发表于 2013-2-14 12:11 |只看该作者
    arsenal1983 发表于 2013-2-14 10:48
    问个小白问题我不装驱动可以下载软件吗

    你的意思是, 连接到电脑往手机里拷贝程序吗? 除了fastboot和ADB模式连接电脑需要驱动外, 正常连接电脑是不需要驱动的...所谓的MTP模式...
    Nexus 4常见问题解答: http://bbs.gfan.com/android-5576468-1-1.html
    教程: http://bbs.gfan.com/android-5795118-1-1.html
    moto xt502  tigerarcade
    高级模式
    B Color Image Link Quote Code Smilies @朋友 |上传

    举报|手机版|机锋网 ( 京ICP备15020343号 | 京公网安备11010802020450号

    GMT+8, 2017-1-29 10:38

    Powered by Discuz! X2.5

    © 2001-2012 Comsenz Inc.

    回顶部