1. 程式人生 > >android adb命令彙總

android adb命令彙總

android 啟動SDK,文件,例項下載管理器:
adb devices : 檢視線上裝置
adb forward tcp:6100 tcp:7100 PC上所有6100埠通訊資料將被重定向到手機端7100埠server上
adb kill-server:殺掉adb程序服務


安裝包相關的命令:
adb install C:\Users\lenovo\Desktop\mboss-1.3.0.apk 安裝路徑下的apk檔案到手機
adb install -r C:\Users\lenovo\Desktop\mboss-1.3.0.apk 重新安裝
adb install -s 安裝到SD卡
adb install -l:標識應用為受限應用
adb install -r:替換已經存在的應用
adb install -t:執行安裝測試包
adb install -s:安裝到SD卡中
adb install -d:允許降級安


3. 解除安裝軟體
檢視包名:adb shell 然後 
列出所有包名:pm list packages
  adb uninstall <軟體名> adb uninstall com.asiainfo.boss
  adb uninstall -k <軟體名>
  如果加 -k 引數,為解除安裝軟體但是保留配置和快取檔案
    adb -s 88CKBMK2436B uninstall com.xxxx_android


檢視手機裡面的安裝包:
adb shell pm list packages 裡出所有安裝包名字
adb shell pm list packages -f,輸出包和包相關聯的檔案
adb shell pm list packages -d,只輸出禁用的包
adb shell pm list packages -e,只輸出啟用的包
adb shell pm list packages -s,只輸出系統的包
adb shell pm list packages -3,只輸出第三方的包
adb shell pm list packages -u,只輸出包和未安裝包資訊(安裝來源)。
adb shell pm list packages -e "ximalaya",設定過濾條件:只輸出啟用的包
adb shell pm list packages -e "asiainfo" 查詢為asiainfo的包


檢視app安裝在手機的什麼路徑:
adb shell pm path com.android.phone 手機app安裝的路徑


清空app快取資料:
adb shell pm clear package_name  可用於清除包私有資料
adb shell pm clear com.asiainfo.boss 清空app的快取資料
 

檔案管理相關的命令:

adb pull的作用是從手機端向電腦端拷檔案
adb pull /sdcard/demo.mp4 e:\ 江檔案拷貝到E碟符

adb push d:\test.apk /sdcard 檔案拷貝到(手機或者平板)的/sd/目錄下


adb Shell相關的操作
adb shell ls 檢視目錄
adb shell ls -a 顯示隱藏的檔案
adb shell ls -i 列印每個檔案的序號
adb shell ls -s 以塊的形式打印出每個檔案的大小
adb shell ls -n 列出詳細資訊 UIDS 和GIS
adb shell ls -R 列出所有子目錄

adb shell

cd /system  切換目錄


adb shell
rm -r /sdcard/tmp 刪除檔案或者目錄

adb shell mkdir  建立資料夾

adb shell touch 建立空檔案或者修改檔案的時間戳
adb shell cp 複製檔案和目錄
adb shell mv 移動或者重新命名檔案

網路相關的命令
adb shell netstat  網路統計
adb shell netstat -ano 檢視網路連狀態 
adb shell
然後 netstat
adb shell ping  測試兩個網路之間的連線和延遲
ping www.google.com


adb shell netcfg 通過配置檔案管理和配置網路


adb shell ip 顯示,處理路由,裝置,策略路由和隧道
#顯示wifi IP地址
ip -f inet addr show wlan0

日誌相關命令:

adb logcat:在螢幕上列印日誌
adb logcat *:D  Debug 級別
adb logcat *:W  警告級別
adb logcat *:E  錯誤
adb logcat *:F  最嚴重級別
adb logcat *:S  最高優先順序,沒有列印過的日誌
adb logcat *:V  最低優先順序

db logcat -b  快取資訊
db logcat -b main 預設
adb logcat -b event 包含事件相關的緩衝區
adb logcat -c 清楚日誌並退出
adb logcat -f test.logs 將日誌資訊寫入test.logs檔案


adb logcat -v 
adb logcat -v process
adb logcat -v raw
adb logcat -v time 顯示所有元資料欄位和空行分開的訊息


系統級別的系統資訊 檢視

adb shell dumpsys
adb shell dumpsys  查詢所有service的狀態 
adb shell dumpsys activity
adb shell dumpsys cpuinfo
adb shell dumpsys battery 蒐集裝置的電池資訊
adb shell dumpsys batterystats -reset 清除舊的資訊
adb shell dumpsys window(最後部分可以看到解析度的資訊)

有些service能夠接收額外的引數,我們可以使用-h檢視幫助資訊。
adb shell dumpsys package -h
adb shell dumpsys activity -h
adb shell dumpsys wifi 無線資訊
adb shell dumpsys power 電池管理
adb shell dumpsys telephony.registry 電話情況呼入撥出和最近呼叫資訊
Screen off timeout: 10000 ms 
Screen dim duration: 2000 ms
過濾資訊:adb shell dumpsys power | findstr " mScreenOffTimeoutSetting"鎖屏時間

adb shell dumpstate  轉儲狀態
adb shell dumpstate 各類資訊,比如程序資訊,記憶體資訊,程序是否異常,kernnel的log等
adb shell dumpstate > state.logs 轉儲資訊存到一個檔案

截圖
adb shell screencap /sdcard/screen.png 截圖江檔案儲存著SD卡
adb shell screenrecord /sdcard/demo.mp4 錄製視訊江檔案儲存SD卡
adb pull /sdcard/demo.mp4 將檔案視訊或者圖片傳到電腦上(預設為使用者路徑)

安卓系統級命令:
獲取裝置的ID和序列號:
adb get-product 獲取裝置的ID
adb get-serialno 序列號
root許可權重新啟動adbd守護程序
adb shell ps  列印程序狀態資訊
adb shell getprop 通過property service獲取裝置屬性 以字典的形式展示給使用者
adb shell cat /system/build.prop 過濾資訊
getprop 檢視機器的全部資訊引數
getprop ro.serialno 檢視機器的序列號
getprop ro.carrier 檢視機器的CID號
getprop ro.hardware 檢視機器板子代號
getprop ro.bootloader 檢視SPL(Hboot)版本號
adb shell getprop ro.build.version.sdk 獲取當前系統的版本號
adb shell setprop 設定property service

android系統級別的:cpu資訊,記憶體資訊 手機型號 手機處理器資訊,手機解析度,手機系統版本
adb shell cat /proc/cpuinfo  cpu相關資訊
adb shell cat /proc/meminfo  記憶體資訊 
adb shell cat /proc/iomem    記憶體分割槽資訊
adb shell cat /system/build.prop | findstr "ro.product.model" 檢視手機型號
adb shell cat /proc/cpuinfo | findstr "Processor" 處理器
adb shell dumpsys window  | findstr "Display"
adb shell getprop ro.build.version.release 獲取系統版本:
adb shell getprop ro.build.version.sdk 獲取系統api版本:
adb shell getprop gsm.operator.alpha  獲取手機運營商
adb shell getprop gsm.network.type
adb get-serialno 獲取裝置序列號
adb get-state 裝置當前狀態
adb shell df 分割槽資訊
進入root
adb shell  然後
su root 
dmesg

----------------------------------------------------------------------------
adb shell top top命令提供了實時的對系統處理器的狀態監視.它將顯示系統中CPU最“敏感”的任務列表
User  處於使用者態的執行時間,不包含優先值為負程序 
Nice  優先值為負的程序所佔用的CPU時間 
Sys   處於核心態的執行時間 
Idle  除IO等待時間以外的其它等待時間 
IOW   IO等待時間 
IRQ   硬中斷時間 
SIRQ  軟中斷時間 
第二組資料的含義:

PID   程序id
PR    優先順序
CPU%  當前瞬時CPU佔用率
S     程序狀態:D=不可中斷的睡眠狀態, R=執行, S=睡眠, T=跟蹤/停止, Z=殭屍程序
#THR  程式當前所用的執行緒數
VSS   Virtual Set Size  虛擬耗用記憶體(包含共享庫佔用的記憶體)
RSS   Resident Set Size 實際使用實體記憶體(包含共享庫佔用的記憶體)
PCY   排程策略優先順序,SP_BACKGROUND/SP_FOREGROUND
UID   程序所有者的使用者id
Name  程序的名稱
-----------------------------------------------------------------

關閉執行app:
adb shell am force-stop com.asiainfo.mbossorientalcable 根據包名強制關閉app

手機許可權查詢:
adb shell pm list permission-groups  列印所有已知的許可權組 當前手機的所有許可權




效能分析常用:
view優化工具:hierarchy view
程式碼優化工具:Lint
記憶體、方法優化工具:Heap、TraceView
Dalvik日誌分析,logcat日誌分析
檢視程式的記憶體使用情況:
adb shell dumpsys meminfo $package_name or $pid    //使用程式的包名或者程序id
例如:
adb shell dumpsys meminfo com.asiainfo.mbossorientalcable 調取該應用的記憶體使用情況資訊

日誌匯入到檔案
adb logcat -d -f /sdcard/log.txt 
adb shell screencap -p /sdcard/temp.png 截圖
adb pull /sdcard/temp.png C:/temp/a.png 匯出截圖


demo

adb install C:\Users\Think\Desktop\app-debug(1).apk 將apk安裝到連線到電腦的安卓裝置上
adb -s bfa4e45c install C:\Users\Think\Desktop\app-debug.apk 指定裝置
adb -s ZTEBA601 install C:\Users\jessy\Desktop\app-release (1).apk

匯出手機上apk檔案
第一步:列出你需要的apk包
adb shell pm list packages
adb shell pm list packages -3
第二步驟 定位apk 所在手機路徑位置
adb shell pm path com.dtdream.publictransit
列出所在位置一般都是在 /data/app/com.zjlp.bestface-1.apk

第三步驟:通過 adb pull匯出來
adb pull /data/app/com.dtdream.publictransit-1/base.apk

獲取app裡面得activity辦法:
第一種:有原始碼得情況下:
直接開啟AndroidManifest.xml檔案,找到包含Android.intent.action.MAIN和android.intent.category.LAUNCHER對應的activity。
第二種;只有apk得情況下"
aapt dump xmltree aap包名字 AndroidManifest.xml
使用apktool
aapt
logcat
2.dumpsys
啟動要檢視的程式;
命令列輸入:adb shell dumpsys window w |findstr \/ |findstr name=
aapt dump xmltree com.chuangjiangkeji.bcrm.bcrm_android.apk AndroidManifest.xml



小工具介紹

android Screen Monitor:手機螢幕同步工具:使用方法:
1.下載 Android Screen Monitor
http://code.google.com/p/android-screen-monitor/
(1) 下載 ASM_2_30.zip 並解壓縮, 取得 asm.jar
(2) 將 asm.jar 複製到D:\Android-sdk\platform-tools目錄下
2. 執行 android Screen Monitor
 win+R  ==》 執行cmd控制檯
進入D:\android-sdk\platform-tools 執行下面命令:
> Java -jar  asm.jar
cd E:\android-sdk-windows\platform-tools
Java -jar  asm.jar