不同操作系統(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 1CPU信息
adb shell cat /proc/cpuinfoCPU結(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 高級:
-
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
-
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獲取。 -
查看應(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)用 -
安裝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)限安裝 無線連接拯啦,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