Android開發中,常用的adb命令
注意:將你的手機數據線插上電腦。手機的開發者選項中,設置爲允許usb調試,才能使用adb命令的。
1、查看手機是否連接電腦,以及連接了幾臺手機
adb devices
示例:
當然,你也可以在AndroidStudio上的terminal端中操作,例如:
接下來的指令介紹將不再插圖,有興趣的可以自己去嘗試。
2、安裝第三方應用
adb install xxx.apk
3、 重新安裝軟件
adb install -r xxx.apk
1、無論是Linux系統,還是Windows系統,用adb命令安裝第三方應用之前,都必須先進入到apk所在的目錄,再執行adb安裝命令。否則會提示文件不存在。
2、在win7系統中,如果是進入同一個盤符下的目錄,直接cd dir就可以了;如果要切換盤符,如:從C盤到D盤,直接輸入 D: 回車即可。
注意: adb install xxx.apk 和adb install -r xxx.apk 兩個命令,都是將APP安裝到/data/目錄下。因爲裝的是第三方應用。
3、第三方應用的卸載
adb uninstall xxx.apk
該方法只適用於第三方應用,不適用系統應用,因爲系統應用不可以手動卸載。
4、系統應用安裝
adb root
adb remount
adb push xxx.apk /system/app
adb reboot
指令解析:
adb root //是讓adb獲取root身份,即adb獲得設備的超級管理員身份。
adb remount //重新掛載設備分區,爲可讀寫。注意:在執行adb push 之前,一樣需要先進到apk,所在目錄的。
adb push xxx.apk /system/app
//把apk推送到system/app 目錄下,不再需要執行安裝命令。因爲這是屬於開機會自動安裝。adb reboot //重啓手機,即可看到應用了。
注意: 系統應用使用的是系統簽名,如果不是系統的簽名或者是簽名不對,都不能成功推送到 system/app目錄的。會校驗失敗。
一般情況下Android很多分區,都是隻允許讀數據,不可以寫數據。adb remount是重新mount(掛載)分區的命令,讓system分區從只讀變成可讀可寫。而想要remount分區,必須先擁有root權限纔可以,所以執行adb root,是讓我們的adb獲取root身份,成爲超級管理員。
5、刪除系統應用
adb root
adb remount
adb shell
cd system/app
ls
rm xxx.apk
reboot
指令解析:
adb shell //登錄設備的超級終端,詳細請看:指令9
cd system/app //進入 system/app目錄
ls //列出當前目錄下所有的文件和下一級目錄
rm xxx.apk //刪除apk注意:ls指令是英文L的小寫,不是數字1。ls 指令用處很大,特別是在Linux系統中,經常使用指令操作,如果我們不清楚有哪些文件,馬上 ls 命令來看看。
補充:
cd system/sd/data //進入系統內指定文件夾
ls //列表顯示當前文件夾內容
rm -r xxx //刪除名字爲xxx的文件夾及其裏面的所有文件
rm xxx //刪除文件xxx
rmdir xxx //刪除xxx的文件夾
6、推送文件到Android設備system/app目錄
adb root
adb remount
adb push d:\123.txt /system/app
adb reboot
1、上面的命令是在Windows的cmd命令中,通過adb,向手機推送了一個txt文本。
2、如果我們要推送一個文件夾,把它改成文件夾的名字即可,例如,我有一個newProject命名的文件夾,用下面的命令替換即可:
adb push d:\newProject /system/app3、如果我們要推送一個zip包,用下面的命令替換即可:
adb push d:\xxx.zip /system/app如果要推送別的格式的文件,大家可以自己去嘗試。反正模式都差不多。
總的來說,相對於推送apk到system/app目錄來說,推送一個文件或者文件夾,需要指明文件路徑。
從Android設備導出文件到本地電腦:
adb pull <遠程路徑> <本地路徑>
例如:
adb pull /data/data c:\Users\admin\desktop\
能夠把文件或文件夾導出來
7、刪除Android設備某個目錄。
adb root
adb remount
adb shell
cd system/sd/data //進入系統內指定文件夾
ls //顯示當前目錄內容
rm -r xxx //刪除名字爲xxx的文件夾及其裏面的所有文件
還可以使用以下兩個指令:
rm xxx
//刪除文件xxx,注意是文件,不是目錄。
rmdir xxx
//刪除xxx的文件夾
8、 登錄設備終端
adb shell
adb shell 是登錄設備的超級終端Terminal。接下來輸入的命令都是:直接運行設備命令, 相當於執行遠程命令。而且接下來的命令都會是#號來開頭,不再是$符號了。
登錄shell命令後,相當於,你在Ubuntu電腦中使用Terminal終端一樣了。也就是你在設備的終端直接操作Android設備了。想輸什麼命令就輸什麼命令。就跟你操作Ubuntu電腦一樣。
8、退出設備的shell
輸入exit(回車即可)
9、設備進入recovery模式
adb reboot recovery
執行該命令後,手機會進入recovery刷機界面
注意:前提是手機是好的,如果你使用的是第三方公司的開發板,那就不一定能進到該界面了。購買開發板的話,一定要先問清楚,能不能進recovery刷機界面。否則你在研究recovery服務的時候,就沒有人指導的人了。小編就被坑過。
10、設備進入bootloader模式
adb reboot bootloader
11、查看手機上的運行日誌,此項可以用來查錯
adb logcat
1.1 什麼是adb工具?
adb全稱Android Debug Bridge,是android sdk裏的一個工具。adb是一個標準的CS結構的工具。
如果你的電腦安裝了AndroidStudio,你可以在AndroidStudio安裝路徑的 sdk\platform-tools 找到adb工具。
AndroidStudio 的簡稱是:AS 。如無特殊說明,均用AS代替。
1.2 adb能用來做什麼?
使用adb工具可以直接操作和管理android模擬器或者真實的andriod設備(如你的Android手機)。
是不是很艹蛋的概念,so,我們不要糾結這種概念性的問題,不要在意細節。我們要保持一個目的,它能做什麼,怎麼操作?反正小編不知道它說的啥,小編只想知道這玩意怎麼去操作。
普通手機用戶是用不到adb工具的,只有Android設備開發者**或者**app開發者纔會需要使用adb工具。
adb是一個通訊程序,也可以說是一個調試工具。
既然我們已經知道:adb是一個通訊程序。那麼,通訊程序都會有自己的協議。也就是說,你電腦上既然有了adb程序,手機上也得有個接頭的人吧,不然你電腦adb發來的東西,鬼知道你發的是啥! 所以,我們Android手機裏面肯定也有adb程序的。當電腦通過adb程序發送指令的時候,我們的Android設備就會接收到adb指令了。
關於adb安裝方法,大家可以去找下度娘,這裏就不做介紹了。
當然,如果你的電腦安裝了AS軟件,那麼你無需另外安裝adb工具了。因爲安裝AS的時候,adb工具會被一起安裝。
1.3 adb安裝完成檢測
⑴如果你的電腦安裝了AS。你可以在AS項目的底部,找到一個Terminal窗口,之後在裏面進行adb命令的輸入。
⑵如果你的電腦是Linux系統,只裝了adb工具,沒裝AS。那麼你可以在 terminal終端,進行adb命令的輸入。
⑶如果你的電腦是Windows系統,只裝了adb工具,沒裝AS。那麼你可以從cmd命令中進入Windows系統的shell界面,在裏面進行adb命令輸入。
Google官方推薦Android源碼編譯的Linux系統是——Ubuntu系統
小編用的是Windows系統,adb安裝完成後,在shell界面輸入:adb version 然後回車。如下圖所示,則表示安裝成功。
adb是一個 客戶端–服務器端 程序,其中客戶端是你用來操作的電腦, 訪問的服務器端就是你的android設備。
Terminal的中文是:終端。如果在Ubuntu的左側啓動器中,找不到Terminal終端,大家可以使用Ctrl+Alt+T 調出。