常用 ADB

  1. 查看設(shè)備屏幕分辨率芳杏、density
adb shell dumpsys displays
adb shell wm size
adb shell wm density
  1. 查看CPU 信息
adb shell cat /proc/cpuinfo
adb shell cat /proc/meminfo
  1. 查看棧頂?shù)腶ctivity
# 查看appInfo
adb shell dumpsys package packageName

# 打印頂層Activity信息
adb shell dumpsys activity top
adb shell dumpsys activity top | findstr ACTIVITY

# 查看當(dāng)前界面的Activity
adb shell "dumpsys activity top | grep ACTIVITY | tail -n 1"
# 根據(jù)上一行查詢出的package,查找該App的launcher Activity
adb shell "dumpsys package com.gitvdemo.video | grep -A 4 'MAIN'"

# 查看當(dāng)前界面的Fragment
adb shell "dumpsys activity top | grep '#[0-9]: ' | tail -n 1"
  1. 查看所有在運(yùn)行的任務(wù)棧
adb shell dumpsys activity activities

# 查看Activity任務(wù)棧(僅適用android11以及以上)
adb shell "dumpsys activity activities | grep '* ActivityRecord{'"
  1. 查看正在運(yùn)行的 Services
adb shell dumpsys activity -p com.xx.xxx
#指定 package 的所有state
adb shell dumpsys activity package com.xx.xxx

adb shell dumpsys activity -p com.xx.xxx s[ervices]
adb shell dumpsys activity b[roadcasts]  com.xx.xxx
#service state
adb shell dumpsys activity s[ervices] [COMP_SPEC ...]
#service client-side state
adb shell dumpsys activity service [COMP_SPEC]
  1. 查看所有的系統(tǒng)service
adb shell service list
  1. 獲取通知信息
adb shell dumpsys notification
  1. 獲得手機(jī)里面某個(gè)apk的應(yīng)用信息蚜锨、版本信息
adb shell dumpsys package <packagename>

adb shell dumpsys deviceidle whitelist
  1. 查看wifi密碼,root權(quán)限
adb shell cat /data/misc/wifi/*.conf
  1. 讀取系統(tǒng)的各種文件配置信息亚再,比如/data/anr/traces.txt
adb shell cat /system/build.prop
adb shell getprop

比如:

  • adb shell getprop ro.product.model //獲取設(shè)備型號(hào)
  • adb shell getprop ro.build.version.release //系統(tǒng)版本
  • adb shell getprop ro.product.board //CPU型號(hào)
  • adb shell getprop ro.serialno //序列號(hào)
  1. 列出所有安裝的APP
adb shell pm list packages
adb shell pm list packages -s     //系統(tǒng)應(yīng)用
adb shell pm list packages -3     //第三方應(yīng)用
adb shell pm list packages | grep qq   //過(guò)濾查找qq應(yīng)用
  1. 查看設(shè)備連接IP地址
adb shell ifconfig wlan0
adb shell netcfg
  1. 關(guān)閉USB debug模式
adb shell settings put global adb_enabled 0

打開(kāi)的話,[設(shè)置」-「開(kāi)發(fā)者選項(xiàng)」-「Android 調(diào)試」

  1. ANDROID_ID
adb shell settings get secure android_id
  1. IMEI
    Android 4.4 : adb shell dumpsys iphonesubinfo
    Android 5.0+: adb shell service call iphonesubinfo 1
    windows執(zhí)行
adb shell "service call iphonesubinfo 1 | grep -o '[0-9a-f]\{8\} ' | tail -n+3 | while read a; do echo -n \\u${a:4:4}\\u${a:0:4}; done"

linux執(zhí)行

adb shell 'service call iphonesubinfo 1 | grep -o "[0-9a-f]\{8\} " | tail -n+3 | while read a; do echo -n "\u${a:4:4}\u${a:0:4}"; done'
  1. 模擬按鍵和輸入

adb shell input --help

  • 電源鍵: adb shell input keyevent 26
  • HOME 鍵: adb shell input keyevent 3
  • 返回鍵: adb shell input keyevent 4
  • 點(diǎn)亮屏幕: adb shell input keyevent 224
  • 熄滅屏幕: adb shell input keyevent 223
  • 輸入文本: adb shell input text xxxxx
keycode 含義
3 HOME 鍵
4 返回鍵
5 打開(kāi)撥號(hào)應(yīng)用
6 掛斷電話
24 增加音量
25 降低音量
26 電源鍵
27 拍照(需要在相機(jī)應(yīng)用里)
64 打開(kāi)瀏覽器
82 菜單鍵
85 播放/暫停
86 停止播放
87 播放下一首
88 播放上一首
122 移動(dòng)光標(biāo)到行首或列表頂部
123 移動(dòng)光標(biāo)到行末或列表底部
126 恢復(fù)播放
127 暫停播放
164 靜音
176 打開(kāi)系統(tǒng)設(shè)置
187 切換應(yīng)用
207 打開(kāi)聯(lián)系人
208 打開(kāi)日歷
209 打開(kāi)音樂(lè)
210 打開(kāi)計(jì)算器
220 降低屏幕亮度
221 提高屏幕亮度
223 系統(tǒng)休眠
224 點(diǎn)亮屏幕
231 打開(kāi)語(yǔ)音助手
276 如果沒(méi)有 wakelock 則讓系統(tǒng)休眠
  1. 截屏
adb exec-out screencap -p >  C:\Users\Administrator\Desktop\face\aaa.png
  1. adb shell am start
#啟動(dòng)activity component
adb shell am start -n com.xx.xxx/com.xx.xxx.xxActivity

# 啟動(dòng) 系統(tǒng)  <設(shè)置>
adb shell am start -a  android.settings.SETTINGS

# 1:打開(kāi) 開(kāi)發(fā)者選項(xiàng) 0: 關(guān)閉開(kāi)發(fā)者選項(xiàng)
adb shell settings put global development_settings_enabled 1

# -a action_str -d uri
# 開(kāi)發(fā)者模式 設(shè)置 
adb shell am start -a android.settings.APPLICATION_DEVELOPMENT_SETTINGS 
# package為com.xx.xxx的詳細(xì)設(shè)置 
adb shell am start -a android.settings.APPLICATION_DETAILS_SETTINGS -d package:com.xx.xxx

#example:權(quán)限管理設(shè)置
adb shell am start -a android.settings.action.MANAGE_OVERLAY_PERMISSION -d package:com.xx.xxx

# 電池優(yōu)化 白名單
adb shell am start -a android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS
# 查看電池優(yōu)化白名單
adb shell dumpsys deviceidle whitelist

#存儲(chǔ)空間管理
adb shell am start -a android.os.storage.action.MANAGE_STORAGE

# 啟動(dòng)service 
adb shell am startservice -n com.some.package/.someService
  1. adb shell am broadcast 模擬廣播
    adb shell am broadcast

[-a <ACTION>]
[-d <DATA_URI>]
[-t <MIME_TYPE>]
[-c <CATEGORY> [-c <CATEGORY>] ...]
[-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> ...]
[--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ...]
[-e|--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...]
[-n <COMPONENT>]
[-f <FLAGS>] [<URI>]

adb shell am broadcast -a android.intent.action.EDIT --es test_string  "this is test string" --ei test_int 100 --ez test_boolean true

//刷新 媒體庫(kù),注意:有時(shí)必須指定 {file_name}棍现,否則有時(shí)無(wú)效
adb shell am broadcast -a android.intent.action.MEDIA_SCANNER_SCAN_FILE -d file:///sdcard/DCIM/Camera/{file_name}

// 遞歸 刷新 媒體庫(kù)
adb shell "find /sdcard/Video/ | while read f; do \ 
    am broadcast -a android.intent.action.MEDIA_SCANNER_SCAN_FILE \ 
    -d \"file://${f}\"; done" 
  1. adb shell am kill
/* 關(guān)閉package指定的應(yīng)用程序 */
adb shell am force-stop com.some.package

/* kill與package相關(guān)聯(lián)的所有process */
adb shell am kill com.some.package

/* 殺死所有后臺(tái)進(jìn)程process */
adb shell am kill-all 
  1. 查看APP內(nèi)存限制
/* 單個(gè)APP heap size限制 */
adb shell getprop | findstr dalvik.vm.heapgrowthlimit
adb shell cat /system/build.prop | findstr dalvik.vm
  1. Packages.xml應(yīng)用信息
adb root
# /data/system/ 
adb  pull /data/system/packages.xml C:\Users\Administrator\Desktop
  1. backup備份
# -apk 應(yīng)用和數(shù)據(jù) -noapk 只有數(shù)據(jù)
adb backup -f "F:\*.ab" -apk com.xx.xx

#還原
adb restore f:\*.ab
  1. 查看網(wǎng)絡(luò)
    ping[1]
adb shell
# 查看網(wǎng)絡(luò)接口 wlan0:無(wú)線網(wǎng)絡(luò)接口 rmnet_data:移動(dòng)網(wǎng)絡(luò)接口
ls /sys/class/net/

#查看指定網(wǎng)絡(luò)接口的配置
ifconfig rmnet_data0
#關(guān)閉指定網(wǎng)口
ifconfig rmnet_data0 down
#打開(kāi)指定網(wǎng)口
ifconfig rmnet_data0 up

#查看所有網(wǎng)口的IP地址
ip -f inet  addr
#查看指定網(wǎng)口的IP地址
ip -f inet addr show wlan0

#ping[^note1] 一個(gè)地址  4此次
ping -c 4 baidu.com

#查看DNS
getprop | grep dns
#修改DNS,使用上面getprop獲得的DNS名稱,設(shè)置方式飛行模式镜遣、開(kāi)關(guān)機(jī)失效
setprop net.dns1 223.
  1. 控制臺(tái)文件描述符stdout和stderr
adb shell stop
adb setprop log.redirect-stdio true
adb shell start
  1. 普通操作
#撥打電話
adb shell am start -a android.intent.action.CALL tel:10010
#打開(kāi)網(wǎng)頁(yè)
adb shell am start -a android.intent.action.VIEW -d http://www.baidu.com
  1. Settings
adb shell settings help
#是否自動(dòng)獲取時(shí)間
adb shell settings get global auto_time
settings
  1. 電源、網(wǎng)絡(luò)谎僻、USB控制
adb shell svc
#關(guān)機(jī)
adb shell svc power shutdown
#關(guān)閉 移動(dòng)數(shù)據(jù)
adb shell svc data disable
image.png
  1. 獲取網(wǎng)口MAC地址
adb shell

cd sys/class/net
#根據(jù)networkInterface進(jìn)入相應(yīng)的網(wǎng)絡(luò)接口
cat eth0/address
cat wlan0/address
  1. 查看進(jìn)程線程所在的CPU核心
    ps的命令參數(shù):-t -x,-P,-p,-c [pid|name]

    • -t顯示進(jìn)程下的線程列表
    • -x 顯示進(jìn)程耗費(fèi)的用戶時(shí)間和系統(tǒng)時(shí)間,單位s
    • -P 顯示調(diào)度策略艘绍,通過(guò)是bg or fg ,當(dāng)獲取失敗將會(huì)un和er比之前打印的內(nèi)容多出了一列PCY挎挖,表示進(jìn)程的調(diào)度等級(jí)
      +-p 顯示進(jìn)程的優(yōu)先級(jí)和nice等級(jí)
    • -c 顯示進(jìn)程耗費(fèi)的CPU時(shí)間
    • [PID]過(guò)濾指定進(jìn)程PID,[name]過(guò)濾指定進(jìn)程N(yùn)AME
    adb shell ps -P -t -c -x PID
    

    MTK:

    # 找出自己APP進(jìn)程的PID, 關(guān)鍵字模糊匹配app的packageName
    adb shell ps | findstr "PID player"
    #查看help,有哪些fields可以被打印
    adb shell ps --help
    # -T  顯示線程名, -o 執(zhí)行顯示哪些fields,  我們要顯示CPU
    adb shell ps -T -o UID,PID,CPU,%CPU,%MEM,NI,PSR,TIME,CMD -p 2912
    
    • CPU : 線程航夺、進(jìn)程在哪個(gè)cpu processor上執(zhí)行
    • %CPU: 使用CPU時(shí)間的百分比
    • %MEM: 占用物理內(nèi)存的百分比
    • NI: 線程的nice值,對(duì)應(yīng)線程的優(yōu)先級(jí)設(shè)置(static 19 to -20)
    • CMD: 線程名稱
      ps-cpu
  2. 修改系統(tǒng)時(shí)間
    Windows (PowerShell)

    #Windows (PowerShell)
    $currentDate = Get-Date -Format "MMddHHmmyyyy.ss"
    adb shell "date $currentDate;am broadcast -a android.intent.action.TIME_SET" 
    

    查看Android系統(tǒng)時(shí)間

    date +"%Y-%m-%d %H:%M:%S"
    

    批處理

    set dateYYYY=%date:~0,4%
    set dateMM=%date:~5,2%
    set dateDD=%date:~8,2%
    set timeHH=%time:~0,2%
    set timeMM=%time:~3,2%
    set timeSS=%time:~6,2%
    
    adb shell date %dateMM%%dateDD%%timeHH%%timeMM%%dateYYYY%.%timeSS%
    adb shell am broadcast -a android.intent.action.TIME_SET
    
  3. tasksetCPU綁定

    #查看pid 4069 
    taskset -p 4069
    
    #把 我們的pid 加入到進(jìn)程組
    echo 347 > /dev/cpuset/foreground/task   
    #修改進(jìn)程組的background的CPU調(diào)度策略  
    echo 0-3 > /dev/cpuset/background/cpus
    
    taskset
  4. 查看指定進(jìn)程的內(nèi)存使用

    adb shell dumpsys meminfo $package_name or $pid
    
  5. 查看系統(tǒng)內(nèi)核

    uname -a
    
  6. 獲取IP地址

    adb shell ip route | awk '{print $9}'
    
  7. adb授予權(quán)限

     adb shell pm grant com.ts.player android.permission.READ_EXTERNAL_STORAGE
     adb shell pm grant com.ts.player android.permission.WRITE_EXTERNAL_STORAGE
    
  8. 查看媒體提取器

     adb shell dumpsys media.extractor
    
  9. 禁止彈出 沉浸式提示窗口
    Viewing full screen. To exit, swipe down from the top

    # 查看 secure namespace 下所有的值
    adb shell settings list secure
    # 是否已確認(rèn)過(guò)
    adb shell settings list secure | findstr immersive
    # 刪除此值
    adb shell settings delete secure immersive_mode_confirmations
    # 查看此值
    adb shell settings secure get immersive_mode_confirmations
    # 修改此值 disable 彈窗
    adb shell settings put secure immersive_mode_confirmations confirmed
    
  10. 修改文件訪問(wèn)權(quán)限 chmod

      # 修改文件權(quán)限
      # chmod [option] filename
    
      # 給文件 加 運(yùn)行 權(quán)限
      chmod ugo+x
    
      # 可以用二進(jìn)制位表示:3個(gè)字節(jié)敷存,每個(gè)字節(jié)代表一個(gè)用戶組墓造,每個(gè)字節(jié)的后3位由高到低代表 r锚烦、w、x涮俄,讀寫(xiě)權(quán)限 rw= 100 | 010 = 110 = 6
      chmod 777 
    

    ??[option]表示各種權(quán)限選項(xiàng):

    • r(或4100):讀取權(quán)限
    • w(或2010):寫(xiě)入權(quán)限
    • x(或1001):執(zhí)行權(quán)限

    ??還可以指定權(quán)限的獲取者,三個(gè)部分的左中右:

    • u:文件所有者
    • g:文件所有者所在的組的用戶
    • o:其他組的用戶

    權(quán)限的授予可采用操作符“+”彻亲,而“-”表示收回權(quán)限:

    # 給其他組用戶賦予read權(quán)限
    chmod o+r
    
  11. 此用戶無(wú)法使用開(kāi)發(fā)者選項(xiàng)

    adb shell settings put secure user_setup_complete 1
    adb shell settings put global device_provisioned 1
    

參考1
參考2
https://www.cnblogs.com/JianXu/p/5161179.html
https://github.com/onlyloveyd/awesome-adb


  1. Linux 常用ping命令詳解 ?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末苞尝,一起剝皮案震驚了整個(gè)濱河市畸肆,隨后出現(xiàn)的幾起案子宙址,更是在濱河造成了極大的恐慌,老刑警劉巖抡砂,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異碴巾,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)厦瓢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)旷痕,“玉大人顽冶,你說(shuō)我怎么就攤上這事〗食剩” “怎么了佃声?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵封拧,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我曹铃,道長(zhǎng)陕见,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮红柱,結(jié)果婚禮上韧骗,老公的妹妹穿的比我還像新娘些侍。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布耗式。 她就那樣靜靜地躺著,像睡著了一般娱挨。 火紅的嫁衣襯著肌膚如雪跷坝。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,631評(píng)論 1 305
  • 那天顿颅,我揣著相機(jī)與錄音粱腻,去河邊找鬼绍些。 笑死,一個(gè)胖子當(dāng)著我的面吹牛氮帐,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播楞艾,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼蕴侧,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼敲才!你這毒婦竟也來(lái)了塘娶?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎酝碳,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體返奉,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡芽偏,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年往产,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了仿村。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片包颁。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡娩嚼,死狀恐怖佃迄,靈堂內(nèi)的尸體忽然破棺而出呵俏,到底是詐尸還是另有隱情普碎,我是刑警寧澤麻车,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響彼水,放射性物質(zhì)發(fā)生泄漏猿涨。R本人自食惡果不足惜叛赚,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望溪掀。 院中可真熱鬧璃哟,春花似錦随闪、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)青自。三九已至,卻和暖如春抹锄,著一層夾襖步出監(jiān)牢的瞬間伙单,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工布疼, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留游两,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓侨糟,卻偏偏與公主長(zhǎng)得像粟害,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子汰具,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 上下班時(shí)最怕下雨澜倦,下雪碘勉,下冰雹。今天又是細(xì)雨綿綿,
    Moodshiny閱讀 121評(píng)論 0 0
  • 翻看林帝浣小林老師的公眾號(hào),看到他最新更的文章——一念成秋寥粹,文章間自然少不了有他的攝影作品变过,那些都是稀松...
    伊樂(lè)_Ji閱讀 408評(píng)論 0 1
  • 晨讀材料里的一句話妄痪,道出自律核心。 還讓我想到了一句,喜歡所以放肆土浸,愛(ài)才會(huì)克制。 高低立見(jiàn)黄伊。 今天的豬蹄是探討如何...
    李爹閱讀 278評(píng)論 2 3
  • 2中午第四節(jié)剛下課派殷,上課的胡老師都還沒(méi)有走还最。我來(lái)到教室扶叉,看見(jiàn)講臺(tái)旁邊地上躺著一張10元,彎腰撿起來(lái)問(wèn)是不是胡老師掉...
    孫萬(wàn)群閱讀 133評(píng)論 0 0