Android最常用命令-Adb

不同操作系統(tǒng)關(guān)鍵字:


版權(quán)聲明:本文為CSDN博主「熱愛學習的吉吉」的原創(chuàng)文章凰浮,
原文鏈接:https://blog.csdn.net/u010871962/article/details/78370069

操作系統(tǒng) 1 2
window finstr ipconfig
Linux grep ifconfig

adb 掛載及過濾


  • 獲得root權(quán)限后,獲得寫權(quán)限
    adb disable-verity 第一次 adb root

  • 掛載
    adb remount (重新掛載系統(tǒng)分區(qū),使系統(tǒng)分區(qū)重新可寫,只針對system分區(qū))摔敛。 adb shell mount -o remount, rw /[路徑] (重新掛載其他分區(qū),使其他分區(qū)重新可寫)

  • 搜索
    adb shell cat path | grep(findstr) +字串 過濾字串路徑 adb shell getprop |grep(findstr) +字串 過濾字串prop屬性

  • 所有關(guān)于日期時間的
    adb shell getprop | grep date adb shell settings get global auto_timedd

  • 過濾設(shè)備進程
    adb shell ps | grep telephony

  • 殺掉對應(yīng)的進程
    adb shell kill 2392

產(chǎn)品信息


  • 查看當前產(chǎn)品的名稱
    adb shell getprop ro.product.name

  • 查看當前系統(tǒng)版本
    adb shell getprop ro.build.version.release

  • 查看當前產(chǎn)品cpu架構(gòu)
    adb shell getprop ro.product.cpu.abi 查看當前產(chǎn)品cpu架構(gòu)

  • MAC地址
    adb shell cat /sys/class/net/wlano/address IMEI地址:adb shell settings get secure android_id

  • 設(shè)備得IMEI
    adb shell service call iphonesubinfo 1

  • CPU信息
    adb shell cat /proc/cpuinfo

  • CPU結(jié)構(gòu)幾核
    adb shell cat /proc/cpuinfo|grep architecture

  • 更多硬件與系統(tǒng)屬性
    adb shell cat /system/build.prop

  • 查看手機RAM
    adb shell cat /proc/meminfo

  • 查看屏幕密度
    adb shell wm density (單位dpi)

dumpsys使用


  • 查看分辨率
    adb shell dumpsys display | findstr DisplayDeviceInfo

  • 查看電池狀況
    adb shell dumpsys battery (scale代表最大電量小染,level代表當前電量)

  • 顯示屏參數(shù)

adb shell dumpsys window displays
adb shell dumpsys activity 查看ActvityManagerService 所有信息
adb shell dumpsys activity activities 查看Activity組件信息
adb shell dumpsys activity services 查看Service組件信息
adb shell dumpsys activity providers 查看ContentProvider組件信息
adb shell dumpsys activity broadcasts 查看BraodcastReceiver信息
adb shell dumpsys activity intents 查看Intent信息
adb shell dumpsys activity processes 查看進程信息
  • 查看最近任務(wù)棧
    adb shell dumpsys activity recents

  • 查看棧頂應(yīng)用
    adb shell dumpsys window | grep mCurrentFocus adb shell dumpsys activity | grep mResumedActivity // Android10.0之后

  • 查棧頂應(yīng)用activity
    adb shell dumpsys activity activities | grep mFocuseActivity // Android10.0之前

  • 抓應(yīng)用包相關(guān)
    adb shell dumpsys package 包名 //UserId次兆、ContentProvider援岩、權(quán)限信息歼狼、版本信息、路徑等
    adb shell dumpsys package com.google.android.contacts | grep version //看聯(lián)系人應(yīng)用版本號
    adb shell dumpsys package com.google.android.apps.messaging | grep version //查看短信應(yīng)用版本號

  • 磁盤狀態(tài)
    adb shell dumpsys diskstats

自帶工具


  • 屏幕截圖
    adb shell screencap -h 幫助信息
    // Android10版本
    adb exec-out screencap -p >sctest.png
    //舊版本可以用
    adb shell screencap -p /sdcard/**.png

  • 錄制屏幕
    adb shell screenrecord -help 幫助信息
    adb shell screenrecord /sdcard/.mp4 adb pull /sdcard/.mp4 ./

  • 自動化Monkey
    adb shell monkey -p <packagename> -v 500

adb shell wm


  • 修改分辨率

    adb shell wm size 480x1024

  • 恢復(fù)分辨率

    adb shell wm size reset:恢復(fù)分辨率

adb shell PM:


  • 查看系統(tǒng)應(yīng)用
    adb shell pm list packages -f
    adb shell pm list packages -f | grep 應(yīng)用名字部分字串

  • 查看三方應(yīng)用
    adb shell pm list packages -3

  • 查看應(yīng)用apk路徑
    adb shell pm path com.xxx.camera

  • 查看權(quán)限列表
    adb shell pm list permissions -g -d

  • 清除數(shù)據(jù)
    adb shell pm clear 應(yīng)用包名

adb shell AM:

  • 啟動activity組件
    adb shell am start -n 包名/包名+類名(-n 類名,-a action,-d date,-m MIME-TYPE,-c category,-e 擴展數(shù)據(jù),等)享怀。
    adb shell am start -n 包名/包名+類名 -es "toast" "Hello,world!" //啟動activity并加Toast提示羽峰。

  • 服務(wù)
    serviceadb shell am startservice -n ...
    adb shell am startservice -n com.android.systemui/.SystemUIService //啟動手機虛擬按鍵

  • 廣播
    adb shell am broadcast -a ...

  • 停止應(yīng)用
    adb shell am force-stop <packagename>

  • 收緊內(nèi)存
    adb shell am send-trim-memory <pid>

  • 設(shè)置本地locu.prop
    adb shell setprop key value

  • 查看本地locu.prop
    adb shell getprop key

抓Log命令


  • adb logcat --help 選項解析
選項 用途
-s 設(shè)置輸出日志的標簽, 只顯示該標簽的日志; adb logcat -s "TAG" 只打印包含有TAG的日志,無此TAG不打印
-f 將日志輸出到文件, 默認輸出到標準輸出流中, -f 參數(shù)執(zhí)行不成功; 使用這個adb logcat > log 替換
-r 按照每千字節(jié)輸出日志, 需要 -f 參數(shù), 不過這個命令沒有執(zhí)行成功;
-n 設(shè)置日志輸出的最大數(shù)目, 需要 -r 參數(shù), 這個執(zhí)行 感覺 跟 adb logcat 效果一樣;
-v 設(shè)置日志的輸出格式, 注意只能設(shè)置一項;
-v
adb logcat -v time 可以查看看日志的輸出時間 "time"格式 : "日期 時間 優(yōu)先級 / 標簽 (進程ID) : 進程名稱 : 日志信息 "
adb logcat -v thread "thread"格式 : " 優(yōu)先級 ( 進程ID : 線程ID) 標簽 : 日志內(nèi)容 "
adb logcat -v long "long"格式 : " [ 日期 時間 進程ID : 線程ID 優(yōu)先級 / 標簽] 日志信息 "
adb logcat -v brief "brief"格式 : 這是默認的日志格式 " 優(yōu)先級 / 標簽 (進程ID) : 日志信息 "
adb logcat -v process "process"格式 : " 優(yōu)先級 (進程ID) : 日志信息 "
adb logcat -v tag "tag"格式 : " 優(yōu)先級 / 標簽 : 日志信息" ,"raw"格式 : 只輸出日志信息, 不附加任何其他 信息
選項 用途
-c 清空所有的日志緩存信息;
-d 將緩存的日志輸出(請勿阻止); adb logcat -d -v time -b all > fifle.txt
-t 輸出最近的幾行日志, 輸出完退出(請勿阻止);adb logcat -t 5 可以輸出最近的5行日志
-g 選項 : 查看日志緩沖區(qū)信息;
-b 加載一個日志緩沖區(qū), 默認是 main, 下面詳解;
adb logcat -b 緩沖區(qū)類型
system緩沖區(qū) 與系統(tǒng)相關(guān)的日志信息,
radio緩沖區(qū) 廣播電話相關(guān)的日志信息
events緩沖區(qū) 事件相關(guān)的日志信息,
main緩沖區(qū) 默認的緩沖區(qū)

adb logcat -b kernel
adb logcat -v time -b main -b events -b system > startlog.txt

  • 抓內(nèi)核日志信息:

    adb shell dmesg > dmesg.txt

  • 抓bugreport壓縮包(adb高版本支持 如:1.0.39)

    : adb bugreport ./
    -- "-B"選項 : 以二進制形式輸出日志;

過濾項格式 : <tag>[:priority] , 標簽:日志等級,


  • *默認的日志過濾項是 info : " :I " ;
-- V Verbose (明細)
-- D Debug (調(diào)試)
-- I Info (信息);
-- W Warn (警告);
-- E Error (錯誤);
-- F Fatal (嚴重錯誤);
-- S Silent(Super all output) (最高的優(yōu)先級, 可能不會記載東西);

如:
//過濾警告級別及級別以上的日志(Warn添瓷、Error梅屉、Fatal等)
adb logcat *:W
//過濾錯誤級別包含“chrome”字串的日志
adb logcat *:E | grep chrome

  • 使用管道過濾日志
    過濾字符串忽略大小寫 : adb logcat | grep -i wifi

  • 使用正則表達式匹配
    adb logcat | grep "^..Activity" 就可以匹配日志中的 "V/ActivityManager" 字符串;

  • 抓取開機過程中l(wèi)og:
    pod_debug 置1,打開ipod debug模式仰坦,這樣的話履植,ipo關(guān)機后,adb仍然可以處于工作的狀態(tài)
    adb root
    adb shell setprop ipod_debug 1

  • 聯(lián)合過濾打忧幕巍:

    • adb logcat Tag1:I Tag2:D*S

    • PullLog:
      set log_path = %date: =%%time::=%
      set log_path = %log_path:/ =
      %
      mkdir "log%log_path%"
      cd "log%log_path%"
      adb wait-for-devices
      adb remount
      adb pull /data/log/android_log/

    • CleanLog:
      adb logcat -c
      adb shell rm /data/log/android_log/*
      adb shell rm /data/anr/*
      pause

  • 模擬手機按鍵
    HOME鍵: adb shell input keyevent 3
    返回鍵 :4 玫霎,音量+:24,妈橄,音量-:25庶近,電源鍵:26
    菜單鍵:82 ,靜音鍵:164 眷蚓,點亮屏幕:224 熄滅屏幕:223
    媒體控制:播放/暫停:85鼻种,停止86,下一首:87,上一首:88 沙热,恢復(fù):126 叉钥,暫停:127
    滑動解鎖
    adb shell input swipe 300 1000 300 500 (起點終點坐標)
    輸入文本
    adb shell input text hello (出現(xiàn)hello文本框)

  • Adb 高級:

    1. Adb運行原理:

      adb運行原理是PC端的adb server 與手機端的守護進程adbd建立連接罢缸,然后PC端的adb client通過adb server轉(zhuǎn)發(fā)命令,adbd收到命令后解析運行投队。

      所以如果adbd以普通權(quán)限運行枫疆,有些通過root權(quán)限才能執(zhí)行的命令無法直接用 adb xxx執(zhí)行。

      這是可以adb shell 然后 su root 后執(zhí)行命令敷鸦,也可以讓adbd 以root權(quán)限執(zhí)行息楔,這就可以隨意執(zhí)行最高權(quán)限命令了。

      adb disable-verity 第一次

      adb root 正常輸出: restarting adbd as root

      三星手機可能執(zhí)行adb root無法獲取root權(quán)限扒披,需要安裝 adb Insecure,然后adb root值依。

      非root權(quán)限:adb unroot

    2. adb 查看設(shè)備

      adb [-d|-e|-s <SerialNumber>] <command>

      注:僅有一個設(shè)備,可以省略 [-d|-e|-s <SerialNumber>] 這一部分碟案,直接adb <command>

      參數(shù) 含義
      -d 指定當前唯一通過usb連接Android設(shè)備
      -e 指定當前唯一的Android模擬器
      -s <SerialNum> 指定相同序列號的設(shè)備/模擬器愿险,<SerialNum> 通過adb devices獲取。
    3. 查看應(yīng)用列表的基本命令格式

      adb shell pm list package [-f|-d|-e|-s|-3|-i|-u|-user USER_ID] [FILTER]

      參數(shù) 顯示包名列表
      -f 顯示應(yīng)用關(guān)聯(lián)的apk文件
      -d 只顯示disable應(yīng)用
      -e 只顯示enable應(yīng)用
      -s 只顯示系統(tǒng)應(yīng)用
      -3 只顯示三方應(yīng)用
      -i 只顯示installed應(yīng)用
      -u 只顯示uninstalled應(yīng)用
      --user USER_ID 只顯示id用戶的空間的所有包
      FILTER 只顯示 grep/findstr +字串 的應(yīng)用
    4. 安裝apk adb install 其實分三步走: 1.push apk文件到 /data/local/tmp 2.adb shell 到調(diào)用 pm insatll 安裝 3.刪除 /data/local/tmp 下對應(yīng)apk文件 所以必要時可以手動分步執(zhí)行安裝過程蟆淀。 adb insatll [-lrtsdg] <path_to_apk>

      參數(shù) 含義
      -l /mnt/asec/安裝到保護目錄
      -r 允許覆蓋安裝
      -t testonly="true"安裝測試
      -d 降級覆蓋安裝
      -g 授予所有運行權(quán)限安裝
    5. 無線連接拯啦,adb支持澡匪,無需USB線 1.連接同一個wifi 2.設(shè)備和電腦先連接USB線 3.adb tcpip 5555 4.斷開USB 5.找到設(shè)備IP地址 6.通過IP連接 adb connect <device-id-address> 7.adb devices 輸出:<devices-ip-address>:5555 devices 表示連接成功 8.斷開 adb disconnect

Linux的lsusb:Android usb 設(shè)備管理器lsusb 分析_Tony的專欄-CSDN博客

附:


  • 使用adb命令結(jié)束進程的方法有兩種的相同作用與區(qū)別 1熔任、adb shell " kill -9 <進程號> " 結(jié)束進程 2、adb shell " am force-stop " <包名> " 結(jié)束進程樹

  • linux下殺死進程(kill)的N種方法 https://blog.csdn.net/andy572633/article/details/7211546

  • kill -3 pid 和kill -9 pid https://blog.csdn.net/fan380485838/article/details/81018734

  • linux命令-kill pid和kill -9 pid https://blog.csdn.net/weixin_43851795/article/details/85038948?

  • 系統(tǒng)穩(wěn)定性問題分析唁情,當遇到系統(tǒng)卡死時疑苔,我們經(jīng)常要使用“kill -3 pid”來打印System_Server進程各個線程的Java調(diào)用棧, 根據(jù)線程狀態(tài)及調(diào)用棧來更進一步定位問題點甸鸟,當然某個應(yīng)該界面卡頓時間長時也可以通過這個命令來抓取Java調(diào)用棧進行分析惦费。 adb shell “kill -3 pid”后文件的保存路徑為:/proc/${pid}/cwd。文件名為:antBuilderOutput.log

  • 創(chuàng)建SDCard: mksdcard 1024M ~/名稱.img

  • 啟動DDMS:

    ddms

  • 安裝應(yīng)用程序: adb install -r 應(yīng)用程序.apk

  • 遇到問題:INSTALL_FAILED_VERIFICATION_FAILURE adb shell settings put global verifier_verify_adb_installs 0 adb shell settings put global package_verifier_enable 0 如果不能解決抢韭。這時薪贫,可以將apk放到這個目錄下:/system/app

  • 缷載apk包: adb shell cd data/app rm apk adb uninstall apk包的主包名 adb install -r apk包

  • 查看adb命令幫助信息: adb help

  • adb shell后面跟的命令主要來自: 源碼\system\core\toolbox目錄和源碼\frameworks\base\cmds目錄。

  • 刪除系統(tǒng)應(yīng)用: adb remount (重新掛載系統(tǒng)分區(qū)刻恭,使系統(tǒng)分區(qū)重新可寫)瞧省。 adb shell cd system/app rm *.apk

  • 發(fā)布端口:你可以設(shè)置任意的端口號,做為主機向模擬器或設(shè)備的請求端口鳍贾。如: adb forward tcp:5555 tcp:8000

  • 復(fù)制文件: 復(fù)制一個文件或目錄到設(shè)備或模擬器上: 如:adb push test.txt /tmp/test.txt 從設(shè)備或模擬器上復(fù)制一個文件或目錄: 如:adb pull /addroid/lib/libwebcore.so .

  • 查看bug報告: adb bugreport 記錄無線通訊日志:

  • 一般來說鞍匾,無線通訊的日志非常多,在運行時沒必要去記錄骑科,但我們還是可以通過命令橡淑,設(shè)置記錄: adb logcat -b radio

  • 獲取設(shè)備的ID和序列號: adb get-product adb get-serialno

  • 訪問數(shù)據(jù)庫SQLite3 adb shell sqlite3

版權(quán)聲明:本文為CSDN博主「熱愛學習的吉吉」的原創(chuàng)文章,
原文鏈接:https://blog.csdn.net/u010871962/article/details/78370069

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末咆爽,一起剝皮案震驚了整個濱河市梁棠,隨后出現(xiàn)的幾起案子置森,更是在濱河造成了極大的恐慌,老刑警劉巖符糊,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件暇藏,死亡現(xiàn)場離奇詭異,居然都是意外死亡濒蒋,警方通過查閱死者的電腦和手機盐碱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來沪伙,“玉大人瓮顽,你說我怎么就攤上這事∥穑” “怎么了暖混?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長翁授。 經(jīng)常有香客問我拣播,道長,這世上最難降的妖魔是什么收擦? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任贮配,我火速辦了婚禮,結(jié)果婚禮上塞赂,老公的妹妹穿的比我還像新娘泪勒。我一直安慰自己,他們只是感情好宴猾,可當我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布圆存。 她就那樣靜靜地躺著,像睡著了一般仇哆。 火紅的嫁衣襯著肌膚如雪沦辙。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天讹剔,我揣著相機與錄音油讯,去河邊找鬼。 笑死辟拷,一個胖子當著我的面吹牛撞羽,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播衫冻,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼诀紊,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了隅俘?” 一聲冷哼從身側(cè)響起邻奠,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤笤喳,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后碌宴,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體杀狡,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年贰镣,在試婚紗的時候發(fā)現(xiàn)自己被綠了呜象。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡碑隆,死狀恐怖恭陡,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情上煤,我是刑警寧澤休玩,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站劫狠,受9級特大地震影響拴疤,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜独泞,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一呐矾、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧阐肤,春花似錦凫佛、人聲如沸讲坎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽晨炕。三九已至衫画,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間瓮栗,已是汗流浹背削罩。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留费奸,地道東北人弥激。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像愿阐,于是被迫代替她去往敵國和親微服。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,577評論 2 353

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