閱讀350 返回首頁    go 阿裏雲 go 技術社區[雲棲]


adb shell 是什麼,如何進入?

本文適合於想了解android係統基礎知識,知道大家說的adb shell 到底是怎麼回事兒的小白同學。
(主要偏向於windows用戶,相信如果你用linux...本文可能已經幫不到你什麼了)
一,從操作係統開始
windows、linux、Mac、ios、android、meego..
這個世界上有這麼多操作係統呀,看起來風格迥異,相差很多。
但其實它們之間的關係,沒有那麼遠。
它們其實有一個共同的祖先:unix
。。。(中間省過10000字)
經過N多版本的進化,它們的原理並沒有什麼本質的區別,主要區別是內存的管理和人機交互方式。
二,什麼是adb shell
上麵的第一部分看起來與第二部分一點兒關係都沒有。。。汗~
先說什麼是shell, 操作係統運行的本身其實並不需要人來控製。
但人需要告訴操作係統做什麼,這個交互程序,就被稱為shell。
這裏我把shell分成三種:

  • 圖形shell:
這種shell有很多種,windows的Explorer.exe,Linux的Gnome/Kde ....
在windows看到的桌麵,開始菜單,也是一種圖形shell
  • 終端Shell:
終端Shell除了windows下的cmd.exe已經弱化到殘廢的地步,其他的操作係統都是比較強悍的;
終端Shell最大的特點是字符操作,沒有圖形,試想,如果你的操作係統顯卡驅動崩潰了,繪圖功能不舉了,這就是最後的稻草了。
事實上,幾乎所有的顯卡驅動都是在終端Shell下編寫,然後用於繪製圖形Shell....
特別是在linux\mac\android下麵,終端Shell是灰常的強大的。
如:bash\zsh\....
  • 其他Shell:
還有很多,與本文無關,不討論。

OK, 說到這兒,大家都應該明白了,adb shell ,其實就是連接到咱們的KF(android)的終端shell。舉個例子,我們可以在RE管理器裏把一個文件從/sdcard/ 複製到/sbin..
操作還是比較麻煩的,但在adb shell中可以這麼做:
cp /sdcard/a.txt /sbin/

二,如何在windows下進入adb shell
這個小節真的不想寫,因為windows下的終端Shell工具本身太殘廢了。。。
不過太多人使用windows了,無奈之中,好吧。。。
大家還記得一鍵Root的那個程序吧,其實看了本文之後,稍加研究,大家應該可以理解那個批處理中的所有命令。
OK,我們開始進入adb shell吧。。。
1. 進入windows的終端Shell:要進入KF的終端shell ,我們要從操作係統的shell來連接。
從上一小節我們就知道了,linux/mac下用“終端”程序就好;而windows, windows鍵+R , 然後輸入 cmd 按回車,出來個小小窗口,黑黑的,這個可愛的窗口就是windows的Shell了。
2. 連接到KF的shell:這個步驟非常簡單,直接進入到我們的adb.exe程序所在目錄,執行adb shell就可以。
相信看了上麵這句話,有人會迷失。。。說實際操作吧:
在本帖附件下載那個adb.zip,解壓到c盤的kf目錄。然後在小黑窗口輸入:
  1. C:\Users\Tony>
  1. c:> cd c:\kf
  1. c:\cf> adb shell
  1. * daemon not running. starting it now *
  1. * daemon started successfully *
  1. $
複製代碼

三,如何在linux/mac下進入adb shell

把附件解壓,如果你是Linux:
cp -r .android ~
./adb-linux shell
如果你是mac:
cp -r .android ~
./adb-mac shell
沒錯,就是這麼簡單,而且,無需安裝任何驅動,也不會有任何問題。
OK,這樣你就進入到KF的終端shell中了,本文就到這裏了。
=================================================================

下麵展示一下這個shell的一起操作:
  1. 使用root用戶,擁有最高權限:
  1. su root

  1. 讓整個係統文件都可以有權限操作:
  1. mount -o remount,rw rootfs /system

  1. 複製一個文件到另一個地方:
  1. cp /xx/xx.xx /oo/

  1. 刪除一個文件:
  1. delete /oo/xx.xx

  1. 重啟:
  1. reboot
複製代碼

一些連接問題:
(費話:windows這個坑爹的係統,問題多多,我不知道如果要把windows下全部的操作寫出來要多少字。。。)
為什麼adb shell命令會返回error: device not found?
這個問題竟然是你的碗豆莢之類的軟件給kindle安裝的驅動導致的。
需要強製安裝下載壓縮包裏usb_driver裏帶的驅動。
然後把附件壓縮包裏的.android 文件夾放到你的用戶目錄,如 C:\Users\Tony
關於這個問題,有個圖文教程,看這裏:
https://rootkindlefire.com/kindle-fire-root/how-to-root-kindle-fire/
大家還有什麼問題,請詳細描述在回複中,大家可以一起來解決。

最後更新:2017-04-03 07:56:55

  上一篇:go Swift學習這十二:(續)控製流
  下一篇:go NYOJ90-整數劃分