adb 用法總結

lostinai發表於2013-08-02

文章轉自:

http://www.cnblogs.com/622698abc/archive/2013/06/11/3132306.html

 

通過命令列執行adb shell am broadcast傳送廣播通知。

 

adb shell am broadcast 後面的引數有:

[-a <ACTION>]
[-d <DATA_URI>]
[-t <MIME_TYPE>] 
[-c <CATEGORY> [-c <CATEGORY>] ...] 
[-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> ...] 
[--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ...] 
[-e|--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...] 
[-n <COMPONENT>]
[-f <FLAGS>] [<URI>]

 

例如:

              要傳送給誰        指令型別        key值        value值 (後面一樣)

adb shell am broadcast -a android.intent.action.EDIT  --es     test_string   "this is test string" --ei test_int 100 --ez test_boolean true

 

說明:藍色為key,紅色為value,分別為String型別,int型別,boolean型別

------------------------------------------------------------------------------------------------------------------------------------

第一部分:

1. ubuntu下配置環境anroid變數:

在終端執行 sudo gedit /etc/profile 開啟文字編輯器,在最後追加#set android environment

2. 執行Eclipse,還需要配置JAVA環境變數

#set java environment

JAVA_HOME=/home/loginname/jdk目錄名

JRE_HOME=/home/loginname/jdk目錄名/jre

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

export PATH=/home/loginname/android-sdk-linux_86/tools:$PATH

儲存後,重啟

3. 加入裝置ID標識到當前的android除錯環境

在/home/loginname/.android檔案中新增,android終端的裝置標識ID

4. 更新sdk

【android update sdk】更新sdk

5. 常用命令:

【adb help】獲取幫助

【adb get-serialno】獲取裝置串號

【adb root】獲取root許可權,對部分手機有用,大部分上市手機已經把這個功能給關閉了。獲取root許可權還可以通過豌豆夾等第三方工具。

【adb kill-server】殺死adb的server程式。

【adb start-server】啟動adb的server程式。

【adb devices】檢視建立連線的android終端。

【android list】顯示所有android終端

【ddms】啟動ddms

【adb remount】重新載入硬碟。

【adb reboot】重新啟動終端。

【adb install /path/appname】安裝應用程式

【adb uninstall com.android.helloworld】解除安裝helloworld,系統帶的應用不可解除安裝。

【adb push /sourcepath/filename /destinationpath/filename】從pc端拷貝一個檔案到終端

【adb pull /sourcepath/filename /destinationpath/filename】從終端拷貝一個檔案到pc端

【adb logcat -v time -s TAGNAME】顯示自定義的TAGNAME並顯示時間

【adb ppp】通過usb啟動ppp

【adb monkey -p /path/appname -v 100】對程式進行強制測試100次

【adb shell】在pc端啟動shell命令終端。

以上命令需要pc端的root許可權,命令失效時,可以嘗試切換工作目錄到sdk的tools下,例如:sudo ./adb kill-server,sudo ./adb start-server。

6. shell下命令,可以使用BusyBox工具集:

【am start -n {包名(package)}/{包名}.{活動activity名稱}】啟動某一個app的activity,配置參考AndroidManifest.xml,例如鬧鐘:
 # am start -n com.android.alarmclock/com.android.alarmclock.AlarmClock

【am broadcast -a android.intent.action.ActionName】傳送廣播訊息

【setprop KEY VALUE】設定key的property值位value

【getprop KEY】獲取該key的property值

【getevent】獲取所有事件

【watchprops】監聽property值的變化

【stop SERVER】強行停止某一個服務

【start SERVER】啟動某一個服務

【ioctl】控制裝置

【dumpsys activity】顯示活動棧資訊

【top】顯示瞬間的程式的資源佔用等資訊

【free】顯示當前程式記憶體使用情況

【ps】顯示程式的自身標識資訊

【rm /path/filename】從終端刪除一個檔案

【mkdir】新建一個目錄或者檔案

【grep】查詢特定內容

【ls】顯示當前目錄下的檔案

【cd】切換當前目錄

【chmod】更改檔案屬性

【cp】拷貝檔案

【dd】複製檔案

【mv】移動目錄檔案,或者改名

【cat】檢視檔案內容

【kill】殺死程式

【ipconfig】檢視更改網路介面地址和引數

【ping】檢測網路狀態

【netstat】檢視網路狀態

【telnet】登入遠端主機

【sqlite3 /path/DATABASENAME.db】開啟某一個資料庫。之後即可使用select,insert,delete等資料庫操作命令

【tcpdump -p -nnn -vvv -s 0 -w /PATH/NAME.pcap port 80 and tcp】網路除錯抓包

【gst-launch playbin uri=file:///system/media/audio/bootaudio.mp3】gst多媒體框架,播放音訊檔案

【alsa_amixer】音訊除錯命令,可以切換聲道,調節音量,切換裝置。不同的晶片廠家的引數設定有所不同。

【alsa_aplay -D AndroidPlayback_Speaker_normal  /cache/music/dial/0.wav】通過alsa播放pcm碼流。

【alsa_arecord】通過alsa實現錄音

【am start -n com.android.music/com.android.music.MediaPlaybackActivity -d /sdcard/bootaudio.mp3】啟動android程式播放mp3

【stack --symbols-dir=./out/target/product/NAME/symbols ramdump】檢視呼叫堆疊

【exit】退出shell

通過 adb shell, cd /system/bin,ls可以列表出大部分可用的命令。

7. 部分android手機的VenderID

# 0x0525 NXP晶片

# 0x18D1 Broadcom2457雙卡晶片

# 0x2314 GHT Moke

# 0x04E8 AnyCall GT-I5508

# 0x22B8 Moto XT701 XT300

# 0x0BB4 HTC A8180

 

第二部分:

adb(Android Debug Bridge)是Android 提供的一個通用的除錯工具,藉助這個工具,我們可以很好的除錯開發的程式,adb.exe在你安裝的android的sdk開發包tools目錄下,

adb使用方法:

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

當你發出一個命令,系統啟用Android客戶端。客戶端