Part1準備工做:linux
1、PC和安卓設備(手機或平板)都連上同一個WIFI,即二者都在同一個網段;android
2、保證在PC上能夠PING通安卓設備的IP;shell
3、安卓設備也能夠PING一下電腦IP,在手機上安裝工具FPing,使用這個工具PING電腦。若是ping不通,先檢查一下是否是關閉了全部的電腦管家、殺毒軟件、WINDOWS自身的防火牆(其實這一步能夠省略);瀏覽器
4、臺式機能夠買個無線網卡,筆者使用的是小米隨身WIFI:緩存
(1)電腦上下載小米隨身WIFI軟件,將隨身WIFI插入電腦USB接口,彈出如下提示,默認爲WIFI熱點模式:網絡
(2)咱們不須要將電腦設置爲WIFI熱點,而是須要將其做爲一個普通無線網卡,所以將其切換到網卡模式,並點擊開啓:app
(3)設置好以後,使用臺式機鏈接WIFI,安卓設備(手機或平板)也鏈接一樣的WIFI便可;less
5、輸入命令,鏈接安卓設備,打開CMD輸入tcp
Tips:除了電腦的adb工具,Android的一款APP Better Terminal也能夠實現adb的全部功能,使用Better Terminal時,須要獲取手機root權限,可在Better Terminal中輸入su請求打開權限,再輸入如下命令調試另外一臺Android設備,一樣是經過tcp方式調試。ide
adb tcpip 5555
/*切換到無線鏈接方式,使用USB鏈接設備時輸入,拔掉USB鏈接線該命令沒做用*/
adb connect 172.25.69.189
/*鏈接安卓設備*/
adb usb
/*可經過該命令切換回usb方式,使用USB鏈接設備時輸入,拔掉USB鏈接線該命令沒做用*/
setprop service.adb.tcp.port 5555
stop adbd
start adbd
/*若是沒法經過usb方式鏈接,好比由於沒有驅動或沒有數據線,那麼能夠在安卓設備(手機或平板)上執行以上命令,切換到無線鏈接方式(設置adb的tcp端口爲5555,重啓Android設備上的adbd進程,讓設置生效),注意此方式須要root權限*/
setprop service.adb.tcp.port -1
stop adbd
start adbd
/*若是沒法經過usb方式鏈接,經過以上命令切換回usb方式(釋放tcp佔用的端口,adbd將會監聽usb)*/
Tips:有一些第三方工具,把須要在安卓設備上執行的命令作成了app,只要點一個按鈕,就能夠完成切換。好比adbWireless。此工具一樣須要root權限。
(1)未切換到無線鏈接方式,時輸入adb connect 172.25.69.189時,會出現如下提示:
(2)若沒有USB線,可選擇在安卓設備上輸入命令,或使用上文提到的adbWireless工具。在安卓設備上安裝adbWireless,安裝時注意,始終容許adbWireless使用root權限,點擊中間的按鈕,當按鈕變爲綠色即表示已成功鏈接到安卓設備
Tips:能夠勾選Auto Start和Auto connection,讓安卓設備每次啓動,自動打開adbWireless而且自動鏈接上你的電腦。
(3)此時再輸入adb connect 172.25.69.189,就能夠成功鏈接到安卓設備了
注意:須要打開「設置->系統->開發者選項->USB調試」設備鏈接時,注意查看設備是否彈出「容許USB調試嗎?」對話框,點擊容許,才能進行接下來的操做;
若是「容許USB調試嗎?」彈不出來,能夠關開一次adbWireless的開關,再次輸入命令adb connect 172.25.69.189,彈出便可出現;
Part2操縱您的安卓設備:
(4)準備工做完成後,就能夠輸入adb命令,無效操縱您的安卓設備啦!
(5)使用命令adb install e:/agg.apk安裝安卓軟件,出現如下界面即安裝成功
(6)使用命令adb uninstall com.agg.biangui卸載安卓軟件,出現Success即卸載成功
注意:adb uninstall 後邊的參數不該該是XXX.apk文件名,而是包名,即AndroidMainifest.xml文件中<manifest>節點下,package元素所指定的名字,com.agg.biangui即爲agg.apk的包名
(7)斷開鏈接,使用命令adb disconnect
(8)若adb服務出現異常,能夠重啓adb服務,使用adb stop server和adb start server;
附錄1:adb介紹
adb是什麼?:Android Debug Bridge,就是起到調試橋的做用。經過adb咱們能夠在Eclipse中方便經過DDMS來調試Android程序,說白了就是debug工具。 adb的工做方式比較特殊,採用監聽Socket TCP 5554等端口的方式讓IDE和Qemu通信,默認狀況下adb會daemon相關的網絡端口,因此當咱們運行Eclipse時adb進程就會自動運行。
adb有什麼用?:藉助adb工具,咱們能夠管理設備或手機模擬器的狀態。還能夠進行不少手機操做,如安裝軟件、系統升級、運行shell命令等等。其實簡而言說,adb就是鏈接Android手機與PC端的橋樑,可讓用戶在電腦上對手機進行全面的操做。
(1)查看設備:adb devices
這個命令是查看當前鏈接的設備, 鏈接到計算機的android設備或者模擬器將會列出顯示
(2)安裝軟件:adb install
adb install <apk文件路徑> :這個命令將指定的apk文件安裝到設備上
(3)卸載軟件
adb uninstall <軟件名>
adb uninstall -k <軟件名>
若是加 -k 參數,爲卸載軟件可是保留配置和緩存文件.
(4)進入設備或模擬器的shell:adb shell
經過上面的命令,就能夠進入設備或模擬器的shell環境中,在這個Linux Shell中,你能夠執行各類Linux的命令,另外若是隻想執行一條shell命令,能夠採用如下的方式:
adb shell [command]
如:adb shell dmesg會打印出內核的調試信息。
(5)發佈端口
能夠設置任意的端口號,作爲主機向模擬器或設備的請求端口。如:
adb forward tcp:5555 tcp:8000
(6)從電腦上發送文件到設備
adb push <本地路徑> <遠程路徑>
用push命令能夠把本機電腦上的文件或者文件夾複製到設備(手機)
(7)從設備上下載文件到電腦
adb pull <遠程路徑> <本地路徑>
用pull命令能夠把設備(手機)上的文件或者文件夾複製到本機電腦
(8)查看bug報告
adb bugreport
(9)記錄無線通信日誌
通常來講,無線通信的日誌很是多,在運行時不必去記錄,但咱們仍是能夠經過命令,設置記錄:
adb shell
logcat -b radio
(10)獲取設備的ID和序列號
adb get-product
adb get-serialno
(11)重啓手機:adb reboot
(12) 終止adb服務進程:adb kill-server
(13)啓動abd服務進程:adb start-server
(14) 以root權限重啓adb服務:adb root
附錄2:經常使用的shell命令
注:沒有在shell模式下,需加上前綴adb shell
(1)ls: 相似於dos下的dir命令
ls最經常使用的參數有三個: -a -l -F。
ls –a
Linux上的文件以.開頭的文件被系統視爲隱藏文件,僅用ls命令是看不到他們的,而用ls -a除了顯示通常文件名外,連隱藏文件也會顯示出來。
ls –l
該參數顯示更詳細的文件信息。
ls –F
使用這個參數表示在文件的後面多添加表示文件類型的符號,例如*表示可執行,/表示目錄,@表示連結文件,這都是由於使用了-F這個參數。可是如今基本上全部的Linux發行版本的ls都已經內建了-F參數,也就是說,不用輸入這個參數,咱們也能看到各類分辨符號。
例:在adb下使用shell命令查看sd卡下的文件列表,顯示文件最後更改時間
adb shell su -c "ls -l /sdcard"
(2)cd: 用於切換用戶當前工做目錄
cd aaa 進入aaa目錄
cd 命令後不指定目錄,會切換到當前用戶的home 目錄
cd ~ 做用同cd後不指定目錄,切換到當前用戶的home 目錄
cd - 命令後跟一個減號,則會退回到切換前的目錄
cd .. 返回到當前目錄下的上一級目錄
(3)pwd:用於顯示用戶當前工做目錄
(4)mkdir 和 rmdir
midir:建立目錄
rmdir:刪除目錄
兩個命令都支持-p參數,對於mkdir命令若指定路徑的父目錄不存在則一併建立,對於rmdir命令則刪除指定路徑的全部層次目錄,若是文件夾裏有內容,則不能用rmdir命令
以下:
mkdir -p 1/2/3
rmdir -p 1/2/3
(5)cp:複製命令
複製一個文件到另外一目錄:cp 1.txt ../test2
複製一個文件到本目錄並更名:cp 1.txt 2.txt
複製一個文件夾a並更名爲b:cp -r a b
(6)mv:移動命令
將一個文件移動到另外一個目錄:mv 1.txt ../test1
將一個文件在本目錄更名:mv 1.txt 2.txt
將一個文件必定到另外一個目錄並更名:mv 1.txt ../test1/2.txt
(7)rm命令
rm命令用於刪除文件,與dos下的del/erase命令類似,rm命令經常使用的參數有三個:-i,-r,-f。
–i :系統在刪除文件以前會先詢問確認,用戶回車以後,文件纔會真的被刪除。須要注意,linux下刪除的文件是不能恢復的,刪除以前必定要謹慎確認。
–r:該參數支持目錄刪除,功能和rmdir命令類似。
–f:和-i參數相反,-f表示強制刪除
(8)du、df命令
du命令能夠顯示目前的目錄所佔用的磁盤空間,df命令能夠顯示目前磁盤剩餘空間。
若是du命令不加任何參數,那麼返回的是整個磁盤的使用狀況,若是後面加了目錄的話,就是這個目錄在磁盤上的使用狀況。
du -hs 指定目錄 查看指定目錄的總大小
du -hs ./* 查看當前目錄下的全部文件夾和文件的大小
這兩個命令都支持-k,-m和-h參數,-k和-m相似,都表示顯示單位,一個是k字節一個是兆字節,-h則表示human-readable,即友好可讀的顯示方式。
(9)cat命令
cat命令的功能是顯示或連結通常的ascii文本文件。cat是concatenate的簡寫,相似於dos下面的type命令。用法以下:
cat file1 顯示file1文件內容
cat file1 file2 依次顯示file1,file2的內容
cat file1 file2 > file3 把file1, file2的內容結合起來,再「重定向(>)」到file3文件中。
">"是右重定向符,表示將左邊命令結果當成右邊命令的輸入,注意:若是右側文件是一個已存在文件,其原有內容將會被清空,而變成左側命令輸出內容。若是但願以追加方式寫入,請改用">>"重定向符。
若是">"左邊沒有指定文件,如: cat >file1,將會等用戶輸入,輸入完畢後再按[Ctrl]+[c]或[Ctrl]+[d],就會將用戶的輸入內容寫入file1。
(10)am命令
在Android中,除了從界面上啓動程序以外,還能夠從命令行啓動程序,使用的是命令行工具am,用法以下:
am start -n {包(package)名}/{包名}.{活動(activity)名稱}
Settings(系統設置)的啓動方法爲:
am start -n com.android.settings/.Settings
SettingsMbox(系統快速設置)的啓動方法爲:
am start -n com.mbx.settingsmbox/.SettingsMboxActivity
calendar(日曆)的啓動方法爲:
am start -n com.android.calendar/com.android.calendar.LaunchActivity
AlarmClock(鬧鐘)的啓動方法爲:
am start -n com.android.alarmclock/com.android.alarmclock.AlarmClock
Music 和 Video(音樂和視頻)的啓動方法爲:
am start -n com.android.music/com.android.music.MusicBrowserActivity
am start -n com.android.music/com.android.music.VideoBrowserActivity
am start -n com.android.music/com.android.music.MediaPlaybackActivity
Camera(照相機)的啓動方法爲:
am start -n com.android.camera/com.android.camera.Camera
Browser(瀏覽器)的啓動方法爲:
am start -n com.android.browser/com.android.browser.BrowserActivity
(11)netcfg命令
查看設備的ip地址