天天看點

adb shell指令、logcat、fastboot

常用的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) (最高的優先級, 可能不會記載東西);
           

完。

adb shell指令、logcat、fastboot