Android 常用ADB 和 adb shell 命令

常用ADB命令

一般都是通過這樣子的格式 adb [-d|-e|-s <設備序列號>] <子命令>

通常只有一臺設備就忽略 [-d|-e|-s ] 這一部分

參數含義:

-d 指定當前唯一通過USB連接的Android設備為命令目標
-e 指定當前唯一運行的模擬器為命令目標
-s <serialNumber>指定相應 serialNumber 號的設備/模擬器為命令目標

adb 常用命令匯總

adb help //查看幫助
adb version //查看adb版本號
adb devices //查看設備
adb get-state// 獲取設備狀態(tài)
adb start-server //啟動服務
adb kill-server // 殺死服務

wifi adb 命令

adb connect IP:port //連接設備
adb disconnect //斷開連接所有設備
adb disconnect IP:port //斷開連接指定設備
adb root //獲取root權限
adb remount //重新掛載文件系統(tǒng)(默認只讀,執(zhí)行命令后可寫)

安裝應用 -r -t -d 可以組合使用

adb install Package //安裝APK
adb install -r Package //強制覆蓋安裝
adb install -t Package //允許降級覆蓋安裝
adb install -d Package //允許測試包

卸載應用

adb uninstall PackageName //卸載APK
adb uninstall -k (keep) PackageName //保留用戶數據卸載
adb pull //將設備文件文件發(fā)送到PC
adb push //將PC文件發(fā)送到設備

adb logcat 命令格式 : adb logcat [選項] [過濾項]
選項參數說明

"-v"選項 : 設置日志的輸出格式;----->adb logcat -v threadtime 查看日志輸出時間和線程信息
"-c"選項 : 清空所有的日志緩存信息;---->adb logcat -c
"-d"選項 : 將緩存的日志輸出到屏幕上, 并且不會阻塞;------->adb logcat -d
"-t"選項 : 輸出最近的幾行日志, 輸出完退出, 不阻塞;------>adb logcat -t 5 輸出日志緩沖區(qū)的最近5行
"-g"選項 : 查看日志緩沖區(qū)信息; ------>adb logcat -g
"-G"選項 : 設置日志緩沖區(qū)信息; ------>adb logcat -G 200M
"-B"選項 : 以二進制形式輸出日志; ----> adb logcat -B

adb logcat -c //清空日志
adb logcat -v threadtime >D:\111.log //抓日志并輸出保存D:\111.log
adb logcat -G 200M //設置日志緩存大小
adb logcat -g //查詢日志緩存大小

adb shell 常用命令

adb shell screencap /sdcard/screen.png //屏幕截圖(并存放sdcard目錄,命名screen.png)
adb shell screenrecord /sdcard/demo.mp4 //錄制屏幕(Android4.4以上可用)
adb shell dumpsys activity activities //查看activity信息
adb shell dumpsys activity |findstr mResumedActivity //獲取當前activity信息
adb shell dumpsys window windows | findstr “Current” //查看當前app窗口activity

二、am參數

am全稱activity manager,你能使用am參數去模擬各種系統(tǒng)的行為,例如去啟動一個activity,強制停止進程,發(fā)送廣播進程,修改設備屏幕屬性等等。
例如: adb shell am start -a android.intent.action.VIEW
關于am參數的一些命令:
start [options] :啟動activity通過指定的intent參數。具體intent參數參照官方表。
startservice [options] : 啟動service通過指定的intent參數。具體intent跟start命令參數相同。
force-stop : 強制停止指定的package包應用。
kill [options] :殺死指定package包應用進程,該命令在安全模式下殺死進程,不影響用戶體驗。參數選項:--user | all | current: 指定user進程殺死,如果不指定默認為所有users。(關于USER_ID下面會介紹到)
kill-all :殺死所有的后臺進程。
broadcast [options] :發(fā)送一個intent。具體intent參數參照start命令參數。參數選項:--user | all | current: 指定user進程殺死,如果不指定默認為所有users。
instrument [options] :測試命令,不多作介紹。
profile start :在進程中運行profile,分析結果寫到里。
profile stop :停止profile。
set-debug-app [options] :設置package包應用為debug模式。參數選項:-w|--persistent:等待進入調試模式,保留值。
clear-debug-app :清空之前用set-debug-app命令設置的package包應用。
啟動:adb shell app am start -n {packageName}/.{activityName}
殺app的進程:adb shell am kill <packageName>
強制停止一切:adb shell am force-stop <packageName>
啟動服務:adb shell am startservice
停止服務:adb shell am stopservice
打開簡書: adb shell am start -a android.intent.action.VIEW -d http://www.jianshu.cn/
撥打電話: adb shell am start -a android.intent.action.CALL -d tel:10086 或者 adb shell am start -a android.intent.action.CALL tel:15967562075
進入手機qq主頁:adb shell am start -n com.tencent.mobileqq/com.tencent.mobileqq.activity.SplashActivity
進入手機微信主頁 :adb shell am start -n com.tencent.mm/.ui.LauncherUI

二、pm參數

pm全稱package manager,你能使用pm命令去模擬android行為或者查詢設備上的應用等。
例如: adb shell pm uninstall com.example.MyApp
關于一些pm命令的介紹:
list packages [options] :打印所有包,選擇性的查詢包列表。
參數選項:-f:查看關聯(lián)文件,即應用apk的位置跟對應的包名(如:package:/system/app /MusicPlayer.apk=com.sec.android.app.music);
-d:查看disabled packages;
-e:查看enable package;
-s:查看系統(tǒng)package;
-3:查看第三方package;
-i:查看package的對應安裝者(如:1、 package:com.tencent.qqmusic installer=null 2、package:com.tencent.qqpim installer=com.android.vending);
-u:查看曾被卸載過的package。(卸載后又重新安裝依然會被列 入);
--user:The user space to query。
list permission-groups :打印所有已知的權限群組。
list permissions [options] :選擇性的打印權限。參數選項:
list features :設備特性。硬件之類的性能。
list libraries :當前設備支持的libs。
list users :系統(tǒng)上所有的users。(上面提到的USER_ID查詢方式,如:UserInfo{0:Primary:3}那么USER_ID為0)
path :查詢package的安裝位置。
install [options] :安裝命令。
uninstall [options] :卸載命令。
clear :對指定的package刪除所有數據。
enable :使package或component可用。(如:pm enable "package/class")
disable :使package或component不可用。(如:pm disable "package/class")
disable-user [options] :參數選項:--user : The user to disable。
grant :授權給應用。
revoke :撤銷權限。
set-install-location :設置默認的安裝位置。其中0:讓系統(tǒng)自動選擇最佳的安裝位置。1:安裝到內部的設備存儲空間。2:安裝到外部的設備存儲空間。(這只用于調試應用程序, 使用該命令可能導致應用程序退出或者其他不適的后果)。
get-install-location :返回當前的安裝位置。返回結果同上參數選項。
set-permission-enforced [true|false] :使指定權限生效或者失效。
create-user :增加一個新的USER。
remove-user :刪除一個USER。
get-max-users :該設備所支持的最大USER數。(某些設備不支持該命令)
列出手機所有的包名: pm list packages
安裝/卸載: pm install/uninstall

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容