常用的adb指令。大飛_Rflyee:http://blog.csdn.net/rflyee/article/details/10033287,在此基礎上添加補充了。
1、列出系統上已經安裝的android平台和已建的avd資訊:android list
2、顯示系統中已安裝的全部Android平台:android list targets
3、顯示系統中已建的全部AVD(模拟器):android list avd
4、建立AVD(模拟器):android create avd --name 名稱 --target 平台編号
5、啟動模拟器:emulator -avd 名稱 -sdcard ~/名稱.img (-skin 1280x800)
6、删除AVD(模拟器):android delete avd --name 名稱
7、建立SDCard:
Linux:mksdcard 1024M ~/名稱.img
windows:mksdcard 1024M C:\Documents and Settings\Administrator\.android\name.img
8、AVD(模拟器)所在位置:
Linux(~/.android/avd)
Windows(C:\Documents and Settings\Administrator\.android\avd)
9、啟動DDMS:(不建議)
ddms
啟動Debug monitor:(建議)
monitor.bat
10、對某一模拟器執行指令:
abd -s 模拟器編号 指令
11、擷取模拟器中的檔案:adb pull <remote> <local>
12、向模拟器中寫檔案:adb push <local> <remote>
13、進入模拟器的shell模式:adb shell
14、啟動SDK,文檔,執行個體下載下傳管理器:android
15、檢視adb指令幫助資訊:adb help
16、在指令行中檢視LOG資訊:adb logcat -s 标簽名
17、adb shell後面跟的指令主要來自:
源碼\system\core\toolbox目錄和源碼\frameworks\base\cmds目錄。
18、删除系統應用:
adb remount (重新挂載系統分區,使系統分區重新可寫)。
adb shell
cd system/app
rm *.apk
19、擷取管理者權限:adb root
20、啟動Activity:
adb shell am start -n 包名/包名+類名(-n 類名,-a action,-d date,-m MIME-TYPE,-c category,-e 擴充資料,等)。
21、釋出端口:
你可以設定任意的端口号,做為主機向模拟器或裝置的請求端口。如:
adb forward tcp:5555 tcp:8000
23、檢視bug報告:adb bugreport
24、通路資料庫SQLite3 (詳見大飛_Rflyee: http://blog.csdn.net/rflyee/article/details/9767897 )
adb shell
sqlite3
#cd system/sd/data //進入系統内指定檔案夾
#ls //清單顯示目前檔案夾内容
#rm -r xxx //删除名字為xxx的檔案夾及其裡面的所有檔案
#rm xxx //删除檔案xxx
#rmdir xxx //删除xxx的檔案夾
#touch /sdcard/a.txt //建立空的a.txt檔案
#echo abcdefg > /sdcard/b.txt //建立b.txt檔案内容為abcdefg
25、顯示模拟器或裝置名清單及狀态:
adb devices (device表示線上/offline表示裝置沒有連接配接或無響應)
cmd /c adb devices 檢視完裝置後自動關閉視窗
26、安裝軟體到裝置:adb install
27、重新安裝軟體:adb install -r
28、獲得安裝的位置(預設為自動):adb shell pm get-install-location
29、從裝置解除安裝軟體:
adb uninstall <包名>
添加參數-k在解除安裝軟體時保留配置和緩存檔案:
adb uninstall –k <包名>
30、檢視裝置上所有包含<INTENT>的包名:adb shell pm list packages
31、檢視安裝的apk版本号:adb shell pm dump <包名> | grep version
32、從電腦上發送檔案到裝置:adb push <本地路徑> <遠端路徑>
33、從裝置上下載下傳檔案到電腦:adb pull <遠端路徑> <本地路徑>
34、登入裝置shell:
adb shell後可直接運作裝置指令(想當于遠端執行指令)
退出shell模式:exit 或者 ctrl+c
35、連接配接多裝置選擇操作:adb –s <裝置号> 後續加指令與單裝置連接配接時相同
36、輸出Android系統目前的資訊:
adb shell dumpstate
其輸出内容主要包括以下内容:
a.裝置基本資訊
b.記憶體使用情況
c.CPU使用情況
d./proc檔案夾中儲存的系統各種實時資訊,特别是記憶體使用方面的詳細資訊,如用procrank指令擷取的按記憶體使用率情況排序的程序清單
e.核心的一些資訊
f.程序清單
g.各種程序中的線程清單以及各線程的堆棧資訊
h.各程序打開的檔案
i.Logcat中的三個環狀日志的内容,分别是系統主日志SYSTEM、事件日志EVENT和無線電日志RADIO
j.網絡相關的資訊
k.df指令輸入的檔案系統使用率資訊
l.系統中安裝的應用包資訊
m.dumpsys指令輸出的資訊
n.正在運作的應用清單
o.正在運作的服務清單
p.正在運作的内容供應元件清單
37、輸出目前servers資訊:
Adb shell dumpsys activity
Adb shell dumpsys cpuinfo(CPU)
Adb shell dumpsys batterystate(電池)
Adb shell dumpsys window(分辨率)
Adb shell dumpsys meminfo(記憶體)
38、getprop屬性:進入shell
getprop ril.cdma.emdstatus.send 是否電信版本(電信版的傳回:1)
getprop gsm.sim.state 手機是否裝有sim卡
39、啟動應用程式:adb shell am start –n <包名> /. <Activity名>
40、退出應用程式:adb shell am force-stop <包名>
41、啟動service:Adb shell am startservice –n <包名>/.<包名.service名>
42、清除應用資料:adb shell pm clear <包名>
43、發送廣播:adb shell am broadcast –a android.intent.action.MASTER_CLEAR (恢複出廠設定)
44、截圖:adb shell screencap –p adb shell screencap –p /sdcard/screen.jpg
45、視訊錄制:
adb shell screenrecord <路徑>/<名字.格式>
(1)參數--time-limit (限制錄制時間,如果不限制預設180s):
例如:adb shell screenrecord --time-limit 30 /sdcard/demo.mp4 (限制錄制時間為30s)
(2)參數--size (指定視訊分辨率大小):
例如:adb shell screenrecord --size 1280*720 /sdcard/demo.mp4
(3)參數--bit-rate (指定視訊的比特率,如果不指定預設4Mbps,比特率越高視訊品質越好占用檔案資源越大)
例如:adb shell screenrecord --bit-rate 6000000 /sdcard/demo.mp4 (指定比特率為6Mbps)
(4)參數—verbose (在指令行顯示log)
46、檢測手機運作時間:adb shell uptime
47、啟動adb服務:adb kill-server
48、關閉adb服務:adb start-server
49、檢視所有的包名:adb shell pm list packages
50、檢視目前頁面的Activity路徑:adb shell dumpsys activity top|findstr ACTIVITY
51、檢視apk版本号:進入adb shell 執行 pm dump 包名|grep version
52、檢視有哪些service資訊:進入adb shell 執行 dumpsys | grep DUMP
53、從電腦上發送檔案到裝置:adb push <本地路徑> <遠端路徑>
54、從裝置上下載下傳檔案到電腦:adb pull <遠端路徑> <本地路徑>
55、幫助資訊:adb help
56、挂在讀寫:adb remount
57、多遠裝置選擇:adb -s + 指令
58、檢視電池使用的服務資訊:adb shell dumpsys batterystats
59、檢視系統日志:adb logcat
60、檢視一個apk所在的目錄:adb shell pm path com.meizu.filemanager
61、檢視手機輸入法:進入adb shell,ime list
62、設定unicode輸入法:ime set com.meizu.script/.services.Utf7imeService
63、設定搜狗輸入法:ime set com.meizu.flyme.input/com.meizu.input.MzInputService
64、還有一個輸入法:ime set com.android.latin/.lainIme
65、用指令删除檔案
如:Runtime.getRuntime().exec("rm /sdcard/res/Music/mp3.mp3");
在adb shell下執行:rm /sdcard/res/Music/mp3.mp3
66、重新開機裝置:adb reboot
67、重新開機到recovery模式進行刷機:adb reboot recovery
68、重新開機到bootloader模式進行刷機:adb reboot bootloader
69、重新開機到fastboot模式進行刷機:adb reboot fastboot
70、常見刷fastboot的指令:
fastboot help 檢視手機相關幫助
fastboot devices 顯示fastboot裝置
fastboot getvar all擷取手機相關資訊
fastboot reboot #重新開機手機(退出)
fastboot reboot-bootloader #重新開機到bootloader模式
fastboot oem rebootRUU #重新開機到HTC RUU刷機模式
fastboot flash dtb C:\dtb
fastboot flash kernel C:\zimage
fastboot flash ramdisk C:\ramdisk-uboot.img
fastboot flash recovery C:\recovery-uboot.img
fastboot flash system C:\system.img
fastboot erase system #擦除system分區
fastboot erase boot #擦除boot分區
fastboot erase cache #擦除cache分區
fastboot erase userdata #擦除userdata分區
71、進入shell并獲得權限:adb shell su
72、打開WiFi:svc wifi enable
73、關閉WiFi:svc wifi disable
74、檢視某手機版本類型:adb shell cat proc/lk_info/sw_version
75、檢視某手機是否為量産版本:adb shell cat /sys/devices/mx_tsp/appid
76、檢視某手機是否加密(0是非加密,1是加密):adb shell cat proc/lk_info/sec
77、檢視手機機型:adb shell getprop ro.build.product
78、檢視Android版本:adb shell getprop ro.build.version.release
79、檢視flyme版本:adb shell getprp ro.build.display.id
80、檢視手機屬性:adb shell getprop
81、讓一個apk從禁用狀态恢複過來:adb shell su enable com.UCMobile/.main.UCMobile
82、讓一個apk處于禁用狀态,相當于解除安裝了:adb shell su disable com.UCMobile/.main.UCMobile
83、獲得序列号:adb get-serialno
84、檢視系統日志:adb logcat
adb logcat [選項] [過濾項]
-- "-s"選項 :設定輸出日志的标簽, 隻顯示該标簽的日志;
--"-f"選項 :将日志輸出到檔案, 預設輸出到标準輸出流中, -f 參數執行不成功;
--"-r"選項 :按照每千位元組輸出日志, 需要 -f 參數, 不過這個指令沒有執行成功;
--"-n"選項 :設定日志輸出的最大數目,需要-r參數, 這個執行感覺跟adb logcat效果一樣;
--"-v"選項 :設定日志的輸出格式, 注意隻能設定一項;
--"-c"選項 :清空所有的日志緩存資訊;
--"-d"選項 :将緩存的日志輸出到螢幕上, 并且不會阻塞;
--"-t"選項 :輸出最近的幾行日志, 輸出完退出, 不阻塞;
--"-g"選項 :檢視日志緩沖區資訊;
--"-b"選項 :加載一個日志緩沖區, 預設是 main, 下面詳解;
--"-B"選項 :以二進制形式輸出日志;
使用 adb logcat 10 *:E 指令, 顯示 Error 以上級别的日志;
使用 adb logcat WifiHW:D *:S 指令進行過濾;
使用adb logcat WifiHW:D dalvikvm:I *:S 指令, 輸出 WifiHW 标簽的Debug以上級别和dalvikvm标簽的Info以上級别的日志;
-- 指令 : adb logcat | grep Wifi ;
忽略大小寫 :adb logcat | grep -i wifi ;
adb logcat | grep "^..Activity";
adb logcat -s System.out
adb logcat 10*:E
adb logcat WiFiHW:D *:S
adb logcat WiFiHW:D dalvikvm:I *:S
adb logcat | grep -i wifiservice
adb shell 執行 logcat | grep "^..Activity"
adb logcat -v time
adb logcat -v threadtime
adb logcat -v prief
adb logcat -v process
adb logcat -v tag
adb logcat -v raw
adb logcat -v time
adb logcat -v long
--V : Verbose (明細);
--D : Debug (調試);
--I : Info (資訊);
--W : Warn (警告);
--E : Error (錯誤);
--F: Fatal (嚴重錯誤);
--S : Silent(Super all output) (最高的優先級, 可能不會記載東西);
完。