串口調試命令 debug
adb 命令(去掉adb shell即爲串口命令)
-
發送廣播
adb shell am broadcast -a com.android.test
-
打開activity
adb shell am start -n com.google.android.tungsten.setupwraith/.MainActivity
-
adb start-server:啓動adb進程
-
adb connect ip地址 :通過Ip連接設備(在局域網中即可。可以不用adb線)
-
adb kill-server:殺死adb進程
-
adb install E:\yyh.apk
-
adb uninstall 應用包名
-
adb shell pm path com.org.emanual(輸出包名以及路徑)然後再路徑
-
adb devices:列出與開發環境建立連接的android設備的列表
-
adb shell:進入Android命令行
-
adb shell sqlite3 data/data/com.android.providers.settings/databases/settings.db “select * from secure”(查看secure數據表)
-
Android的指令:
- ls:羅列出當前目錄下的所有文件和文件夾
- ps -A:羅列出當前系統運行的所有進程
-
netstat -ano:查看系統的端口占用情況
-
截圖
- adb shell /system/bin/screencap -p /sdcard/screenshot.png(保存到SDCard)
- adb pull /sdcard/screenshot.png d:/screenshot.png(保存到電腦)
-
錄屏
- adb shell screenrecord --time-limit 10 /sdcard/demo.mp4
- adb pull /sdcard/demo.mp4 F:\mvp\demo.mp4
-
批量安裝apk命令,apk文件得拷貝到adb根目錄。
for %i in (*.apk) do adb install %i
- 連接adb調試
有時候要使用連接線去連接android 設置去調試,如果沒有連接線的話,可以將android 設備和
pc置於同一個局域網中,然後通過**adb connect android設備ip地址**
去連接調試
- 連接adb調試
串口命令
logcat
- "-s"選項 : 設置輸出日誌的標籤, 只顯示該標籤的日誌;
--"-f"選項 : 將日誌輸出到文件, 默認輸出到標準輸出流中, -f 參數執行不成功;
--"-r"選項 : 按照每千字節輸出日誌, 需要 -f 參數, 不過這個命令沒有執行成功;
--"-n"選項 : 設置日誌輸出的最大數目, 需要 -r 參數, 這個執行 感覺 跟 adb logcat 效果一樣;
--"-v"選項 : 設置日誌的輸出格式, 注意只能設置一項;
--"-c"選項 : 清空所有的日誌緩存信息;
--"-d"選項 : 將緩存的日誌輸出到屏幕上, 並且不會阻塞;
--"-t"選項 : 輸出最近的幾行日誌, 輸出完退出, 不阻塞;
--"-g"選項 : 查看日誌緩衝區信息;
--"-b"選項 : 加載一個日誌緩衝區, 默認是 main, 下面詳解;
--"-B"選項 : 以二進制形式輸出日誌;
logcat --help z
- logcat -c(清除還沒吐出來的緩存log)
- logcat (開始抓log)
- logcat -s “過濾條件” (只輸出特定的log)
- logcat -v time(log中帶時間戳)
- logcat -f 路徑(將logcat保存在一個路徑下)
- logcat | grep -i wifi(使用管道來進行過濾,查詢wifi並忽略大小寫)
dumpsys
輸出系統在一段時間裏的狀況,包括activity,廣播等之類,比較多
因爲dumpsys刷出來的東西太多,故可以和grep結合使用
dumpsys activity 查看Activity信息
dumpsys package <package-name> 查看包的信息
dumpsys activity activities 查看Activity棧
dumpsys audio 查看audio信息
dumpsys |grep BroadcastRecord 查看廣播記錄
dumpsys input 查看設備對應的kl文件信息
dumpsys wifi 查看wifi信息
dumpsys activity top 查看頂層應用情況,具體哪一個在最上面
一些常用的串口命令
-
input text 賬號密碼(快速 輸入賬號密碼)
-
getevent (看按鍵鍵值)
-
getprop 系統屬性(得到系統屬性的值)
-
input keyevent 鍵值(模擬按鍵)
-
getenforce(查看selinux的權限)
-
dumpsys window|grep mFocusedWindow(查看當前界面屬於那一個應用)
-
setenforce 0(將selinux的權限去掉)
-
setprop 系統屬性 系統屬性值(設置系統屬性)
settings
** 系統中很多的屬性都是在Setting這個應用設置的,例wifi,藍牙,聲音,亮度等,這些數據主要是存儲在數據庫中,對應的URI爲:content://settings/system和content://settings/secure.對應的數據庫爲: /data/data/com.android.providers.settings/databases/settings.db裏,裏面有三個表global, system, secure.
可以通常這樣查看數據
adb shell sqlite3 data/data/com.android.providers.settings/databases/settings.db "select * from secure"
但是自從android 6.0以後這幾個表都變爲了xml文件。具體位置如下:
不同用戶放不同的路徑下,如果沒有創建新用戶,則在/data/system/users/0下
settings_global.xml, settings_system.xml, settings_secure.xml
-
用代碼設置或者得到系統屬性的值
Settings.Secure.getInt(getContentResolver() , Settings.Secure.WIFI_ON); Settings.System.putInt(mContext.getContentResolver(), key, value);
-
用串口:(system,secure類似)
settings get global 系統屬性key settings put global 系統屬性key 系統屬性值
pm
- pm install -r (安裝應用)
- pm create-user 10(創建用戶)
- pm list users(列出所有用戶)
- pm remove-user 10(在主用戶模式下刪除10這個用戶)
- pm path com.org.emanual(輸出包名以及路徑)然後再路徑
am
- am switch-user 10(切換到10這個用戶)
wm
- wm size (讀取屏幕分辨率)
- wm density(讀取屏幕dpi)
- wm size 1920x1080(將屏幕分辨率設置爲1920x1080)
- wm density 300 (將dpi設置爲300)
-wm size reset (恢復默認值)
今天突然發現一篇將adb 命令整理的很全的文章,這裏分享出來,真是大神啊,這篇文章真的很經典很經典,文章中提到的用法工作中基本都能用到。
ADB 用法大全