標籤:
轉自:http://www.52rd.com/Blog/Detail_RD.Blog_blogercn_71675.html
android在開發人員模式下,我們能夠使用adb執行andorid手機上system/bin/目錄下的幾乎所有命令。這些命令有的和linux的原始命令功能一樣,有些是android專屬的,有些是MTK添加的。但他們無一例外,功能都相當強大。熟練使用這些命令,可以有效減少程式調試的工作量。
am指令可以發送廣播,可以啟動activity,可以啟動服務,同時還能在特定的視窗關閉他們。因此對於UI調試和模組交叉調試十分有用,一是對於一些不設定launcher的動作的activity,沒有辦法通過菜單啟動,這時可以使用am指令,二是對於一些需要參數才能啟動並執行activity,直接運行可能出錯或者無法調用其功能,需要am來啟動。三是在一些launcher和螢幕鎖視窗,沒有辦法直接調用其他程式,但其他程式又會在特定條件下在這些視窗啟動,為了測試他們互動運行情況,需要am指令。四對於一些在特定某些廣播下啟動並執行服務,活動,廣播接收器來說,調試難度很大,使用am可以輕鬆解決。
5對於一些視窗調用出錯的程式,也可以通過am指令來驗證是發送出錯還是接收出錯
1.am啟動一個activity
adb shell am start com.example.scr/.MainActivity
2.am啟動一個帶參數的activity
adb shell am start -n com.magcomm.touch/.TouchLetterActivity --es letter "e"
--es傳遞的是字串,還有ei,el,ez等參數
-n使用包名加類名,還有a動作,c CATEGORY等
3.am發送一個廣播,使用action
adb shell am broadcast -a magcomm.action.TOUCH_LETTER
4.am發送一個帶參數的廣播,使用action
adb shell am broadcast -a magcomm.action.TOUCH_LETTER --es letter "e"
5.am啟動一個服務,不帶參數時預設使用包名加類名啟動,參數時n,a,c
adb shell am startservice com.android.music/.MediaPlaybackService
6.關閉一個activity或者服務之類,使用包名就行
adb shell am force-stop com.magcomm.touch
pm指令也很有用
1.可以列出手機上安裝的apk與對應的軟體包,由於使用命令刪除apk時,需要知道包名,通過這條命令加上grep或者find就能找到需要的軟體的包名
adb shell pm list packages -f
2找出對應包的安裝目錄路徑,兩條指令結合,可以知道要拷貝給別人的軟體位於手機什麼地方
adb shell pm path com.example.scr
2.可以列了使用的許可權
adb shell pm list permission-groups
adb shell pm list permissions
轉載請註明出處:
User_Index.rd
參考:
http://bbs.ydss.cn/thread-96113-1-1.html
android常用的一些UI調試命令am,pm