new file: _posts/2015-11-06-utawarerumono-alphabet-revealed.md
[GalaxyBlog.git] / _posts / 2013-07-20-Archlinux-flash-android.md
blob88c621e2aafed3369ea0ea4a84f49d1f886ce8bb
1 ---
2 layout: post
3 title: "Archlinux下Galaxy Nexus刷机并root"
4 date: 2013-07-20 14:12
5 comments: true
6 tags: [linux, android, ZT]
7 ---
9 安卓本来就是Linux衍生的,所以必然可以用Linux系统进行刷机,而且效果比  
10 Win还要好.不需要安装驱动,只需要安装adb和fastboot即可.  
12 #安装相关依赖
14 首先通过AUR源安装[android-sdk](https://aur.archlinux.org/packages/android-sdk/)和
15 [android-sdk-platform-tools](https://aur.archlinux.org/packages/android-sdk-platform-tools/)  
16 相关的wiki在 [这里](https://wiki.archlinux.org/index.php/Android)  
17 通过yaourt -Ql android-sdk-platform-tools 可以发现adb和fastboot都安装在  
18 `/opt/android-sdk/platform-tools` 目录下,  
19 但是PATH环境变量没有这个值,所以无法在终端里直接调用  
20 必须先设置PATH变量  `export PATH="${PATH}:/opt/android-sdk/platform-tools"`  
21 在 .xinitrc里面添加这句就可以使X下的终端PATH环境变量被添加.  
22 也可以直接执行,当终端关闭时PATH变量的设置也失效.  
24 #配置ADB
25 前面提供的wiki已经很详细的讲述如何进行[ADB的配置了](https://wiki.archlinux.org/index.php/Android#Connecting_to_a_real_device_-_Android_Debug_Bridge_.28ADB.29)
27 #测试FASTBOOT
29 fastboot模式(上下音量键和开机键一起按),可以看到一个大大的Start画面,这就是进入了fastboot.  
30 此时把手机用USB连入电脑. 在终端里面输入fastboot devices 如果提示 no permission即是普通用户没有权限  
31 这时候就需要切换到root用户进行执行.如果输入一串数字.则说明系统识别到了你的手机.
33 #刷机开始
35 首先要下载[固件](https://developers.google.com/android/nexus/images)
36 下载下来的tgz文件解压即可看到有个flash-all.sh的脚本  
37 首先 `chmod +x flash-all.sh` 赋予脚本执行权限  
38 然后执行这个脚本即可,如果有大量输出则说明刷机正常进行中.  
40 #后续ROOT
42 ROOT的话首先需要刷recovery,我们先下载[recovery](http://www.clockworkmod.com/rommanager)  
43 找到自己型号的recovery进行下载,我的是recovery-clockwork-touch-6.0.3.3-maguro.img  
44 touch代表的是是否支持触摸.否则只能用音量键和开机键进行选择和确定.  
45 然后下载superSU的ZIP压缩包,目前版本是[1.41](http://download.chainfire.eu/339/SuperSU/UPDATE-SuperSU-v1.41.zip?retrieve_file=1)  ,ZIP格式不要解压.放入SD卡中.  
46 `adb push UPDATE-SuperSU-v1.41.zip /sdcard/`  
47 将手机关机进入fastboot模式,应该先解锁, `fastboot oem unlock`   
48 然后刷入recovery `fastboot flash recovery recovery-clockwork-touch-6.0.3.3-maguro.img`  
49 按下音量键调至recovery,按开机键进入,手机会自动重启进入recovery  
50 choose zip from SDcard,然后依次进入,最终选择UPDATE-SuperSU-v1.41.zip,确认安装.  
51 注:如果提示是否清除recovery flash,请选No,否则下次推送时无法进行OTA更新.   
52 安装完成后依次返回.  
53 这个步骤不会影响OTA更新,并且OTA更新之后会自动解决ROOT的问题,无需再次ROOT.  
55 #ADB小技巧
56 刷机之后需要一大堆APK软件安装怎么办 adb 本身只有单个APK安装的功能  
57 通过  `ls -1 *.apk | xargs -l adb install` 这个命令可以批量的把一个文件夹下的所以APK安装上去,而且还是静默安装. 不过首先要打开ADB调试才行.  
59 #手机MTP连接Linux电脑
60 MTP是微软发明的东西....当然不好用
61 目前有两种解决方案一种是GMTP,速度较慢,因为第一次和之后所有操作之后都会全部索引一遍文件列表.  
62 第二种是gvfs-mtp结合thunar使用,可以自动挂载,如果无法挂载可以使用 `lsusb` 命令.  
64         Bus 001 Device 117: ID 04e8:6860 Samsung Electronics Co., Ltd GT-I9100 Phone [Galaxy S II], GT-I9300 Phone [Galaxy S III], GT-P7500 [Galaxy Tab 10.1]
66 可以看到我的设备号,然后在地址栏里面输入 `mtp://[usb:001,117]/`   
67 第一个数字是Bus 号,第二个数字是设备号.