天天看點

android adb使用

參考:

Android Debug Bridge:https://developer.android.com/studio/command-line/adb.html

adb shell 指令詳解 : http://blog.163.com/hero_213/blog/static/3989121420115915014721/

文檔:adb簡介 - https://wiki.cyanogenmod.org/w/Doc:_adb_intro/zh-cn

######################################################################################3

之前就已經知道了adb,但是并沒有了解過。這一次趁着開發android系統,需要測試CPU的占用率,好好看看adb的用法。發現确實能夠提升開發的幸福感。

目前使用系統:Ubuntu 14.04.5 LTS

android adb使用

adb存放在android-sdk開發包的platform-tools檔案夾内

我的android-sdk開發包路徑:

/opt/android-sdk-linux/platform-tools
           
android adb使用

在該目錄下可以直接運作adb,或者将該路徑添加到PATH環境變量中:

sudo gedit /etc/profile
           

在profile檔案最末添加(另起一行):

export PATH=/opt/android-sdk-linux/platform-tools:$PATH
           

注意:使用你自己的路徑

儲存後重新整理:

source /etc/profile
           

即可在任意路徑下使用adb

##################################################################################

adb的用法很多,能夠實作很複雜的功能。我還沒有深入了解adb,是以僅在這裡記錄一些覺得會有效提升開發效率的用法

1.從pc發送 檔案/目錄 到手機;

2.從手機上傳 檔案/目錄到pc;

3.遠端安裝apk;

4.遠端解除安裝apk;

5.實時監控apk的CPU占用率;

6.實時監控apk的記憶體使用率;

7.在多個手機/模拟器(Emulator)情況下如何對某一個裝置進行操作

################################################################################3#

如何啟用調試?

如果想要在手機上啟用USB調試,那麼你的手機必須設定開發者選項(Developer options)中的USB調試(USB debugging)選項

自從Android 4.2開始,開發者選項(Developer options)預設是不可見的,是以你在系統設定中是找不到的。如果想要打開,可以進入設定(Settings)-> 關于手機(About phone),連續點選版本号(Build number)7下。

我的開發手機是小米5,是以點選設定 -> 關于手機中的MIUI版本選項:

android adb使用

點選7次過後會提示你已經打開開發者模式。小米手機的開發者選項在設定 -> (系統和裝置)更多設定中:

android adb使用

進入開發者選項,打開開啟開發者選項和USB調試選項即可:

android adb使用

這樣,adb就可以對你的手機進行操作了

自從Android 4.2.2開始,當你對手機設定完USB調試後,使用usb線連接配接到開發電腦,手機上會彈出一個對話框:

android adb使用

詢問你是否接受使用這台計算機進行調試。點選确定即可

查詢裝置/模拟器執行個體

使用devices指令可以檢視已連接配接的裝置/模拟器

打開一個Terminal:Ctrl+Alt+T

輸入adb devices,将會列出所有已連接配接的手機/模拟器

輸出格式是

序列号(serialNumber) 狀态(devices)

以下是幾種即可出現的情況

android adb使用

上圖表明沒有任何裝置和電腦連接配接

android adb使用

上圖表明出現了一個裝置,但是裝置狀态是unauthorized,其實就是允許USB調試中的最後一步未完成,在手機上點選确定即可。

如果這個對話框已經消失,有兩種解決方法:

1)重新連接配接USB線和手機;

2)在開發者選項中重新開啟USB調試

使用上面其中一個方法,對話框就會重新出現,點選确定即可。

android adb使用

上圖表明,有一個裝置已經連接配接上了電腦,可以開始adb調試了

開始/結束adb伺服器

開始adb伺服器

adb start-server
           
android adb使用

或者

android adb使用

表明已經開啟

有時候,adb伺服器對指令并不響應,那麼你可以需要重新啟動adb伺服器

關閉adb伺服器

adb kill-server
           
android adb使用

或者

android adb使用

表明adb伺服器并未開啟

#######################################################################

ADB文法(Syntax)

可以在腳本或者指令行中使用adb指令,通用指令格式為:

adb [-d|-e|-s <serialNumber>] <command>
           

如果僅有一個模拟器或者僅有一個手機連接配接,那麼adb指令預設被發送到該裝置上。此時可以指令格式為:

adb <command>
           

如果有多個模拟器或者多個手機被連接配接,那麼需要通過參數-d,-e或者-s來指定目标裝置。

在下面的指令介紹中,預設僅有一個裝置被連接配接在電腦上,最後在給出多個裝置情況下的方法

###################################################################################3

遠端操作Android系統

手機和pc連接配接成功後,我們可以打開一個遠端終端,直接操作Android系統

使用shell指令即可:

adb shell
           
android adb使用

常用的linux操作指令同樣可以在Android系統上實作,比如ls,pwd,cd,mv,cp等

也可以在本地操作Android系統,格式為:

adb shell [shellCommand]
           

更多有用的資訊:

ADB Shell Commands:https://developer.android.com/studio/command-line/shell.html

退出遠端終端有兩種方式:

1)快捷鍵:Ctrl+D

2)指令exit

####################################################################################

1.從pc發送 檔案/目錄 到手機

使用push指令即可,格式為:

adb push <local> <remote>
           

<local>表示本地路徑

<remote>表示手機路徑

note:我們在手機上看到的檔案路徑一般為:/mnt/sdcard/或者/storage/emulated/0/(目前還不了解這兩個的關系,不過這兩個都是指向同一個地方)

發送檔案:

adb push all.png /mnt/sdcard/
           

更改名字:

adb push all.png /mnt/sdcard/1.png
           

發送檔案夾(連帶着子檔案夾一起發送):

adb push hello/ /mnt/sdcard/
           

同時修改檔案夾名:

adb push hello/ /mnt/sdcar/hi
           

僅複制檔案夾内的檔案到指定目錄:

adb push hello/* /mnt/sdcard/aaa/
           

2.從手機上傳 檔案/目錄到pc

使用pull指令,格式如下:

adb pull <remote> <local>
           

3.遠端安裝apk

使用install指令,格式為:

adb install <path-to-apk>
           

其中<path-to-apk>表示一個本地apk的路徑

例如:

adb install HelloWorld.apk
           

如果你的手機上已經存在,那麼會提示你該apk已經安裝在手機上

android adb使用

安裝成功也會出現提示

android adb使用

4.遠端解除安裝apk

解除安裝apk需要手機已經root,我的目前還沒有,是以沒有嘗試過

有兩個不錯的連結:

android cmd adb指令安裝和删除apk應用:http://blog.csdn.net/xpsharp/article/details/7289910

adb uninstall解除安裝apk檔案說明:http://blog.csdn.net/flydream0/article/details/7452136

5.實時監控apk的CPU占用率

6.實時監控apk的記憶體使用率

這兩個功能還沒有透徹的了解,給對外連結接供參考:

windows下使用adb工具檢視android程式cpu和記憶體消耗情況:http://blog.csdn.net/grafx/article/details/22533035?utm_source=tuicool&utm_medium=referral

Android使用adb檢視目前裝置運作程序CPU記憶體等資源的使用情況:http://blog.csdn.net/meteorluoyidong/article/details/49632797

檢視android程式的CPU和記憶體消耗情況:http://www.360doc.com/content/14/1008/15/16319846_415269900.shtml

7.在多個手機/模拟器(Emulator)情況下如何對某一個裝置進行操作

上面的操作都是基于單個模拟器/手機的情況,有時候可能會有多個模拟器/手機,這時,我們在進行adb調試,就必須指定某個裝置

使用參數-s即可,格式如下:

adb -s <serialNumber> <command> 
           

<serialNumber>表示裝置序列号,可以通過指令adb devices檢視

是以如果有多個裝置,那麼每次執行指令時均加入-s <serialNumber>即可指定裝置

##################################################3

上面讨論了一些adb的簡單使用,這些功能也都已經在Android Studio實作,是以還是得好好搞懂AS

現在adb不僅可以通過USB進行調試,它還支援Wi-Fi調試:

Wireless usage:https://developer.android.com/studio/command-line/adb.html#wireless