1.安卓adb及fastboot
adb工具起到調試橋的作用,可以在命令行或IDE中對手機或模擬器進行調試,安裝卸載應用查看設備信息的等,fastboot工具多是用來刷機的,比如刷boot,刷recovery等。
安裝adb及fastboot:
sudo apt-get install android-tools-adb android-tools-fastboot
一、adb常用命令:
1 查看設備
adb devices
這個命令是查看當前連接的設備, 連接到計算機的android設備或者模擬器將會列出顯示
2 安裝軟件
adb install
adb install:這個命令將指定的apk文件安裝到設備上
3 卸載軟件
adb uninstall
4 進入設備或模擬器的shell:
adb shell
通過上面的命令,就可以進入設備或模擬器的shell環境中,在這個Linux Shell中,你可以執行各種Linux的命令,另外如果只想執行一條shell命令,可以採用以下的方式:
adb shell [command]
如:adb shell dmesg會打印出內核的調試信息。
二、fastboot常用命令:
1 待機狀態快速進入Recovery
adb shell reboot recovery
2 待機狀態下快速進入Hboot
adb shell reboot bootloader
3 以下命令需要在HBOOT的Fastboot界面內操作
刷入Boot
fastboot flash boot boot.img
刷入Recovery
fastboot flash recovery recovery.img
2.boot.img和recovery.img的認識
boot.img一般是底層系統文件。recovery.img一般是一個linux程序
一、boot.img
boot.img是Android系統啓動所必須加載的文件。簡單的說,boot.img包括boot.img header、kernel以及ramdisk文件系統。
boot.img文件跳過2k的文件頭之後,包括兩個 gz包,一個是boot.img-kernel.gz:Linux內核,一個是boot.img-ramdisk.cpio.gz
格式參考:https://www.cnblogs.com/xxxgod/articles/8623322.html
ramdisk映像是一個最基礎的小型文件系統,它包括了初始化系統所需要的全部核心文件,例如:初始化init進程以及init.rc(可以用於設置很多系統的參數)等文件。參考:https://blog.csdn.net/z_hualin/article/details/78500663
二、recovery.img
recovery.img文件,是用來刷入(安裝)recovery模式的,獲取後,可以用來安裝手機的recovery模式(即恢復模式)Recovery模式指的是一種可以對安卓機內部的數據或系統進行修改的模式(類似於windows PE或DOS)。在這個模式下我們可以刷入新的安卓系統,或者對已有的系統進行備份或升級,也可以在此恢復出廠設置。
刷入第三方的Recovery,將獲得更多的功能,並且可以刷入第三方rom,官方自帶則不行。
(1)recovery.img其實已經是進入了Linux系統。
(2)recovery.img爲了具有恢復系統的能力,比普通的boot.img目錄結構中:
1、多了/res/images目錄,在這個目錄下的圖片都是恢復時我們看到的背景畫面。
2、多了/sbin/recovery二進制程序,這個就是恢復用的程序。
3、/sbin/adbd不一樣,應該和恢復有關。
(3)Android系統中的初始化程序(init)和初始化配置文件(default.prop、init.trout.rc、init.rc、init.goldfish.rc、)都不一樣。這就是系統沒有進入圖形界面而進入了類似文本界面,並可以通過簡單的組合鍵進行恢復的原因。
通過查閱相關資料,對android的recovery模式有了一定的瞭解
Android 可以通過Recovery 模式,實現恢復出廠設置、OTA 升級、patch 升級及firmware 升級。在關機後,同時按下home + power 鍵可以進入recovery 模式。