android adb shell 查詢程序流量情況
本文僅僅是通過adb查詢應用的流量使用情況。當然在Android應用程式的Java程式碼中同樣可以獲得應用的流量使用情況。
1、獲得應用的Pid。
可以通過adb shell ps獲得所有程序資訊,裡面當然包含應用的pid和包名。然後對返回資訊進行查詢(按包名查詢)。
2、獲得應用的Uid.
Android系統的目錄檔案/proc/pid/status(注意:標紅的pid是第1步中獲得的pid,是一個大於0的數字)中包含關於uid的資訊。以pid=7328為例,通過adb shell cat /proc/7328/status可以得到以下資訊:
cat /proc/7328/status
Name: .qihoo.secstore
State: S (sleeping)
Tgid: 7328
Pid: 7328
PPid: 479
TracerPid: 0
Uid: 10194 10194 10194 10194
Gid: 10194 10194 10194 10194
FDSize: 128
Groups: 1015 1028 3001 3002 3003 9997 50194
VmPeak: 1828500 kB
VmSize: 1709912 kB
VmLck: 0 kB
VmPin: 0 kB
VmHWM: 123552 kB
VmRSS: 62932 kB
VmData: 186776 kB
VmStk: 8192 kB
VmExe: 12 kB
VmLib: 87568 kB
VmPTE: 716 kB
VmSwap: 21692 kB
Threads: 44
SigQ: 0/9853
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000001a04
SigIgn: 0000000000000000
SigCgt: 00000002000094f8
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
CapBnd: 0000000000000000
Cpus_allowed: 3f
Cpus_allowed_list: 0-5
voluntary_ctxt_switches: 5671
nonvoluntary_ctxt_switches: 4188
解析以上資訊即可得到Uid.
3、讀取流量值。
Android系統的目錄檔案/proc/uid_stat/uid/下一般會有兩個檔案tcp_snd和tcp_rcv。(注意:標紅的uid是第二步中獲得的Uid數值)。通過adb shell cat /proc/uid_stat/10194/tcp_snd和adb shell cat /proc/uid_stat/10194/tcp_rcv即可分別獲得上行流量和下行流量。
[email protected]:/ $
ls /proc/uid_stat/10194
ls /proc/uid_stat/10194
tcp_rcv
tcp_snd
[email protected]
[email protected]:/ $ cat /proc/uid_stat/10194/tcp_snd
cat /proc/uid_stat/10194/tcp_snd
36006
[email protected]:/ $ cat /proc/uid_stat/10194/tcp_rcv
cat /proc/uid_stat/10194/tcp_rcv
41460
注意:
1、這裡的值的單位是Byte位元組,並且是累積量
2、有的應用是沒有tcp_snd和tcp_rcv這兩個檔案的,比如某些系統應用。
3、某些沒有流量交換的應用的可能也沒有這兩個檔案,或者這兩個檔案裡沒有資料。
相關推薦
android adb shell 查詢程序流量情況
本文僅僅是通過adb查詢應用的流量使用情況。當然在Android應用程式的Java程式碼中同樣可以獲得應用的流量使用情況。 1、獲得應用的Pid。 可以通過adb shell ps獲得所有程序資訊,裡面當然包含應用的pid和包名。然後對返回資訊
Android adb shell啟動應用程序的方法
options enable 情況 命令行啟動 cif 不同的 www sta debug 在Android中,除了從界面上啟動程序之外,還可以從命令行啟動程序,使用的是命令行工具am.usage: am [subcommand] [options] start an
android adb shell and monkey 學習記錄
型號 orm -a reboot 觸摸事件 serial roc ear cpu Monkey環境: android SDK and JDK SDK目錄下的platform-tools和tools目錄要配置環境變量 查看版本: ADB 的安裝這裏就
[android adb shell] 怎麼解鎖圖案鎖屏(pattern lock)的手機?
所謂的防水手機由於沖洗螢幕進水而觸控失靈了,幸好adb是開啟的,還能用usb連上,然而問題來了,我加了圖案鎖屏,雖然adb shell能進,但死活操作不了啊。。。 首先,要確定觸控事件的裝置,我的手機是event2 其次,解析度肯定得搞清楚,可參考 https://blog.csd
android adb shell 模擬廣播發送和鍵值事件
1.模擬傳送廣播adb shell am broadcast -a 定義的廣播action string2.模擬上下左右 確定鍵值adb shell input keyevent "value"va
adb shell檢視程序提示grep不是內部命令或外部命令解決辦法
1、根據包名檢視程序命令adb shell ps|grep com.ott.android.TMC(包名) 直接輸入會提示grep不是內部命令或外部命令解決辦法,解決辦法加上引號adb shell "ps|grep com.ott.android.TMC(包名)" 2
android adb shell的使用
adb shell am start -n 包名/包名+類名(-n 類名,-a action,-d date,-m MIME-TYPE,-c category,-e 擴充套件資料,等)。 23、釋出埠: 你可以設定任意的埠號,做為主機向模擬器或裝置的請求埠。如: adb fo
Android adb shell讀取手機上的QQ軟體的sqlite資料庫
一.查詢QQ軟體下建立了哪些資料庫 1.開啟adb shell 2.進入軟體安裝包下資料庫資料夾 3.查詢有哪些資料庫檔案 或者: 4.開啟webview.db 發現無法開啟,報錯誤 sqlite3: not found 二.解決 sq
Android adb shell刪除檔案和資料夾的操作
tools>adb remount tools>adb shell #su #cd system/sd/data //進入系統內指定資料夾 #ls //列表顯示當前資料夾內容 #
[odroid-pc]ubuntu12.04 android adb shell error: device not found
Bus 001 Device 002: ID 8087:8008 Intel Corp. Bus 002 Device 002: ID 8087:8000 Intel Corp. Bus 003 Device 009: ID 18d1:4e12 Google Inc. Nexus One (debug) B
Android記憶體洩漏查詢和解決adb shell dumpsys meminfo packagement
1.通過adb shell dumpsys meminfo packageName來檢視記憶體使用狀況 在沒有開啟應用的情況下,該命令返回的資料是這樣的: 2.開啟這個應用的MainActivity,再通過命令檢視: 可以看到打印出來很多的資訊,而對於我們檢
Android 測試 之adb shell
一次 eve focus pad eth andro event rod RoCE 一、發送鍵盤事件: 命令格式1:adb shell input keyevent "value" 其中value以及對應的key code如下表所列: KeyEvent Value
Android M App休眠 (adb shell dumpsys usagestats)
user txt adb 活躍 出了 新的 開發者 stats android App休眠 在 Marshmallow 系統,Google 宣布了一個新的功能叫 App 休眠。App 休眠會阻止那些不 常用的 App(幾天沒有用過的 App)連接網絡或者是運行任何程序直
Android成長記(1)-----android環境搭建與adb shell 命令
整理一下學習android一步一步存下來的自己總結或是從網上摘抄的比較不錯的文件,電腦要上交了,最捨不得的就是自己積累的這麼點東西了,所以決定釋出到黎梓小站,以供大家一起學習以及自己日後忘記了也有地方可找。 1. htt
Android Studio 模擬器 adb shell 進入 root 除錯模式
在學習《第一行程式碼》中的SQLite資料庫儲存時,操作sqlite3資料庫,執行起模擬器後,在Terminal中輸入adb shell 發現進入是$符號,輸入cd /data/data/com.example.zhuzhixiong.databasetest/
nethogs結合zabbix 監控每個程序流量使用情況
因為公司會有人時不時去拉取備份日誌或者包等,zabbix和阿里雲都會出現流量告警,但具體是哪個使用者或者哪個程序使用的流量,不知道,告警出現後,登入伺服器檢視,流量已經下來了,檢視起來比較繁瑣,所以直接弄一個程序流量告警,超過閥值,把程序號,使用者,進出流量大小都輸出出來 NetHogs是一款開源、免費的,
Android自動化測試手段之Monkey(adb shell monkey)
android monkey原始碼下載見:http://fanfq.iteye.com/blog/781694 Monkeyrunner在這裡:http://www.51testing.com/html/59/n-242759.html ================
android adb 程序埠號被佔解決方法
1、檢視adb 的程序埠號是什麼,輸入命令 adb nodaemon server 顯示埠號 2、檢視埠號對應的程序pid ,輸入命令 netstat -ano 檢視對應的埠號的程序號 3、檢視程序號對應的程序名稱或結束程序 tasklist|findstr "程序號" 或
Android成長記 1 -----android環境搭建與adb shell 命令
整理一下學習android一步一步存下來的自己總結或是從網上摘抄的比較不錯的文件,電腦要上交了,最捨不得的就是自己積累的這麼點東西了,所以決定釋出到黎梓小站,以供大家一起學習以及自己日後忘記了也有地方可找。2. 該網址詳細介紹瞭如何安裝android4.1 SDK。a
android adb 查詢apk安裝到了哪裡,已經安裝到了哪裡
使用pm =package manager 包管理器 可以查詢包的資訊c:\>adb shell pm -l //最後的字元list的第一字元,就列出手機所有的包c:\>adb shell pm list features //列出所有特徵feature