1、adb devices 獲取模擬器或物理手機設備
網(wǎng)站建設哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、微信小程序開發(fā)、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了石景山免費建站歡迎大家使用!
2、adb install 安裝軟件
adb -s emulator-5554 install E:\CalculatorOfTwoNum.apk 連接了多個設備
adb install -r E:\CalculatorOfTwoNum.apk 覆蓋安裝已有的軟件
adb install E:\CalculatorOfTwoNum.apk只有一個設備且未安裝
3、adb uninstall 卸載軟件
adb -s emulator-5554 uninstall com.example.calculatoroftwonum 卸載指定設備的軟件
adb -s emulator-5554 shell pm uninstall -k com.example.calculatoroftwonum 保留配置及緩存
4、adb pull 把文件從手機設備發(fā)送到本地計算機
adb pull /sdcard/tmp/error.data d:/
adb -s emulator-5554 pull /sdcard/tmp/error.data d:/ 連接了多個設備個
5、adb push 把文件從本地計算機發(fā)送到手機設備
adb -s emulator-5554 push d:/example/error.data /sdcard/pass
6、adb shell ls 顯示當前目錄的所有內容
7、adb shell 查看手機安裝的應用
su root
cd /data/data
ls
8、adb shell dumpsys battery 查看電量信息
9、adb shell dumpsys wifi 查看無線網(wǎng)絡信息
10、adb shell dumpsys power 查看電源信息
11、adb shell dumpsys telephony.registry 查看電話相關信息
12、adb shell cat /proc/cpuinfo 查看CPU硬件信息
13、adb shell cat /proc/meminfo 查看內存信息
14、adb shell cat /proc/iomen 查看I/O內存分區(qū)的信息
15、adb shell cat /system/build.prop | findstr "ro.product.model" 獲取手機型號
16、adb shell cat /proc/cpuinfo | findstr "Processor" 獲取手機處理器信息
17、adb shell cat /proc/meminfo | findstr "MemTotal" 獲取手機內存信息
18、adb shell dumpsys windows | findstr "Display" 獲取手機屏幕分辨率信息
19、adb shell getprop ro.build.version.release 獲取系統(tǒng)版本信息
20、adb shell cat /proc/version 獲取內核版本信息
21、adb shell getprop gsm.operator.alpah 獲取運營商信息
22、adb shell getprop gsm點虐 work.type 獲取網(wǎng)絡類型信息
23、adb shell dumpsys iphonesubinfo | findstr "Devices ID" 獲取手機串號信息
24、adb shell df 獲取系統(tǒng)分區(qū)信息
25、adb shell dmesg 獲取linux內核環(huán)形緩沖區(qū)信息
26、adb shell dumpstate 獲取系統(tǒng)當前狀態(tài)
27、adb get-serialno 獲取設備序列號
28、adb get-state 獲取設備當前狀態(tài)
29、adb logcat 查看日志信息
adb logcat *:W 輸出優(yōu)先級大于警告級的信息
adb logcat -b main 查看主緩沖區(qū)信息
30、adb bugreport 查看啟動過程日志
31、adb jdwp 列出指定設備的IDWP相關進程的ID
32、adb start-server 啟動adb服務
33、adb kill-server 關閉adb服務
34、adb forward 將本機的端口重定向到模擬器或者設備端口上
adb forward tcp:2211 tcp:5566
35、am 模擬系統(tǒng)行為
adb shell am start -n com.sec.android.app.camera/.Camera 啟動照相功能
adb shell am broadcast -a android.intent.action.BATTERY_CHANGED --ei "level"5 --ei "scale" 100 向手機發(fā)送模擬手機低電環(huán)境的信息
36、pm 模擬行為或者查詢設備上的應用
adb shell pm list packages
37、向模擬器發(fā)送短信、打電話
20181021141213.png 20181021141213.png 20181021141252.png 20181021141252.png
cmd telnet localhost 5554
20181021141306.png 20181021141306.png
network speed 14.4:20 設定網(wǎng)速
network delay 5 設定網(wǎng)絡延時5毫秒
network capture start/stop 開始/停止數(shù)據(jù)包的捕獲
windows scale 0.5 修改模擬器大小比例
quit退出
39、android list targets 查看模擬器的Android系統(tǒng)版本
40、android create avd 創(chuàng)建模擬器
android create avd --name Android4.4.2 --target 2 --abi armeabi-v7a
41、android move avd -n Android4.4.2 -r mytestdev4.4.2 重命名模擬器
42、android list avd 查看模擬器列表
43、android delete avd -n hhh 刪除模擬器
44、emulator -avd Android4.4.2 啟動模擬器
Android 調試橋 (adb) ?,可與設備進行通信。adb 命令可用于執(zhí)行各種設備操作(例如安裝和調試應用),并提供對 Unix shell(可用來在設備上運行各種命令)的訪問權限。它是一種客戶端-服務器程序,包括以下三個組件:
客戶端: 用于發(fā)送命令??蛻舳嗽陂_發(fā)機器上運行??梢酝ㄟ^發(fā)出 adb 命令從命令行終端調用客戶端。(可以通過它對Android應用進行安裝、卸載、調試)
PC上的手機助手基本都是通過adb命令去完成的。有時候裝了這類手機助手的話,它自帶的adb程序可能會與Android SDK下的adb程序產生沖突,5037端口被占用,導致adb命令無法連接到設備。Windows下通過netstat -ano|findstr "5037"
守護程序 (adbd): 用于在設備上運行命令。守護程序在每個設備上作為后臺進程運行
執(zhí)行adb shell ps | grep adbd, 可以找到該后臺進程,Windows使用findstr替代grep.
adb nodaemon server
服務器(Service): 用于管理客戶端與守護程序之間的通信。服務器在開發(fā)機器上作為后臺進程運行
adb服務啟動后,Windows可以在任務管理中找到adb.exe; linux ps -ef | gref adb 可以查看service
一般都是通過這樣子的格式 adb [-d|-e|-s 設備序列號] 子命令
通常只有一臺設備就忽略 [-d|-e|-s ] 這一部分
這里介紹一些常用的命令:
獲取設備列表及設備狀態(tài)
獲取設備的狀態(tài)
注意:設備的狀態(tài)有 3 鐘,device?,?offline?,?unknown
device:設備正常連接
offline:連接出現(xiàn)異常,設備無響應
unknown:沒有連接設備
結束 adb 服務
啟動 adb 服務
注意:通常兩個命令一起用,有時候我們開啟server會失敗,這是因為我們裝了的手機助手,豌豆莢或者其他軟件自帶有自己的adb,導致端口沖突開啟失敗。一般在連接出現(xiàn)異常,使用 adb devices 未正常列出設備, 設備狀態(tài)異常時使用 kill-server,然后運行 start-server 進行重啟服務。
打印 Android 的系統(tǒng)日志
打印 dumpsys、dumpstate、logcat 的輸出,也是用于分析錯誤輸出比較多
打印日志后重定向到一個文件中
安裝應用,覆蓋安裝是使用 -r 選項
注意:有些adb版本無法支持安裝中文的apk
查看手機應用包名
查看應用對應的apk文件在手機上的安裝位置則可以在上面的命令后加-f參數(shù)
卸載應用,后面跟的參數(shù)是應用的包名,請區(qū)別于?apk 文件名
'-k' means keep the data and cache directories , -k 選項,卸載時保存數(shù)據(jù)和緩存目錄
將 Android 設備上的文件或者文件夾復制到本地
adb pull /sdcard/test.txt C:\Users\Administrator\Desktop\log
推送本地文件至 Android 設備
獲取連接到的手機的序列號
獲取設備的連接狀態(tài)
等待設備連接成功
該命令將會阻塞一直到默認連接的那部機器狀態(tài)變?yōu)閐evice,也就是連接成功。
其實adb shell命令就是調用的是Android設備中的system/bin目錄下的命令。
Android的內核本身就是Linux,所以Android本身也支持Linux命令,但是因為是手機系統(tǒng),所以進行了一定的刪減,部分命令不支持,而不支持的部分,我們可以通過安裝busybox這個軟件進行。
如何在手機中執(zhí)行Shell命令?
每次都加上adb shell來進行命令的發(fā)送與執(zhí)行
先通過adb shell進入手機Shell執(zhí)行狀態(tài),然后直接輸入Linux命令。
使一個apk處于禁用狀態(tài),相當于卸載了:
其中 PACKAGE_OR_COMPONENT的格式是 package/class, 如 com.UCMobile/.main.UCMobile
eg:adb shell su disable com.UCMobile/.main.UCMobile
同時我們在手機上發(fā)現(xiàn),UC瀏覽器的圖標不見了
讓一個apk從禁用狀態(tài)恢復過來
其中 PACKAGE_OR_COMPONENT的格式是 package/class, 如 com.UCMobile/.main.UCMobileeg:
adb shell su enable com.UCMobile/.main.UCMobile
同時我們從手機上發(fā)現(xiàn),UC瀏覽器的圖標又出現(xiàn)了。
查看一個apk所在的路徑
adb shell pm path com.UCMobile
查看手機中裝的所有的包
屏幕開始錄像并且儲存到/sdcard中,同時名字為demo.mp4
錄屏設置時長10s,命名為demo.mp4
注意:現(xiàn)在僅支持一部分手機錄屏,不支持的手機會出現(xiàn)以下提示
解決方法:
安裝了scrcpy之后,只需要輸入如下命令,即可錄取指定設備的屏幕
scrcpy -s device --render-expired-frames -Nr ./demo.pm4
--render-expired-frames:盡可能最大幀率
-N:不在PC端展示
-r:錄制mp4/mkv文件
關閉設備請求,開啟設備
設備關機以及重啟
pm(package manager)可以獲取一些安裝到Android設備上的app的信息
pm list packages 用法:list packages [?options]?filter
獲取所有的應用的包名
列出系統(tǒng)應用
列出第三方應用
查看它們的關聯(lián)文件
adb shell pm list package -f
查看軟件包的安裝來源
pm dump?包名?很多dump信息
安裝應用
apk如果在電腦用 adb install?
如果在Android設備上用 adb shell pm install
卸載應用,同adb uninstall ,后跟包名
清除應用數(shù)據(jù)
am(activity manager,字面意思就跟activity有關,大家都知道Android的界面都是由一個個activity顯示的)
啟動一個Activity
獲取到package和launch_activity
AndroidSDK中aapt工具,檢索命令結果,可以獲取到package和launch_activity
這里涉及到一個點,如何找到程序的入口,首先你要知道是哪個activity才能啟動;
啟動華為系統(tǒng)相機
打開音樂播放器
播放指定音樂:
先停止目標應用,再啟動
等待應用完成啟動
啟動網(wǎng)頁(android.intent.action.VIEW具體參考Android官網(wǎng))
結束應用
input
模擬輸入,向獲得焦點的EditText控件輸入內容
返回主界面
發(fā)送一個點擊操作的指令,參數(shù)是x y坐標
從左往右滑動屏幕,?/從?100 100?經歷300毫秒滑動到?200 200
長按操作,在?100 100?位置長按?1000毫秒
ADB(Android Debug Bridge)是Android
提供的一個通用的調試工具,借助這個工具,我們可以很好的調試開發(fā)的程序,adb.exe在你安裝的android的sdk開發(fā)包platform-tools目錄下。
ADB是一個C/S架構的應用程序,由三部分組成:
1)adb client, 運行在PC上(為DDMS,即IDE工作)
2)adb daemon(守護進程),運行于Emulator(為與Emulator中的VM交互工作);
3)adb server(服務進程),運行在PC(任務管理器上有),管理著adb client和adb
daemon的通信。
server與client通信的端口是是5037,adb
server會與emulator交互的,使用的端口有兩個,一個是5554專門用于與Emulator實例的連接,那么數(shù)據(jù)可以從Emulator轉發(fā)給IDE控制臺了,另一個則是5555,專門與adb
daemon連接為后面調試使用。
adb使用方法:
adb [-d|-e|-s ]
當你發(fā)出一個命令,系統(tǒng)啟用Android客戶端??蛻舳瞬⒉慌c模擬器實例相關,所以如果雙服務器/設備是運行中的,你需要用-d選項去為應被控制的命令確定目標實例。關于使用這個選項的更多信息,可以查看模擬器/設備實例術語控制命令。
1、查詢模擬器/設備實例
在發(fā)布adb命令之前,有必要知道什么樣的模擬器/設備實例與adb服務器是相連的??梢酝ㄟ^使用 devices
命令來得到一系列相關聯(lián)的模擬器/設備
adbdevices
2、安裝應用到模擬器/設備:
你可以使用adb從你的開發(fā)電腦上復制一個應用程序,并且將其安裝在一個模擬器/設備實例。
像這樣做,使用install命令。這個install命令要求你必須指定你所要安裝的.apk文件的路徑:
adbinstall
例如:Weibo_4.1.1.apk是在我的C盤中,
C:\adbinstallweibo_4.1.1-apk
3、卸載應用程序:
adbuninstall
注意:卸載軟件時,卸載的是包名,后面跟的是包的名字,而不是.APK.
4、從模擬器/設備中拷入或拷出文件:
可以使用adbpull、push命令將文件從模擬器/設備中拷貝出來或從電腦拷入。
adbpull
用pull命令可以把設備(手機)上的文件或者文件夾復制到本機電腦
adbpush
用push命令可以把本機電腦上的文件或者文件夾復制到設備(手機)
5、啟動Linux命令界面shell
adbshell
Android本來就是一個linux操作系統(tǒng),通過上面的命令,就可以進入設備或模擬器的shell環(huán)境中,所以大部分都是linux的命令,如mkdir,ls,netstat,mount
等。
主要介紹幾個Android特有的。
Getprop:返回Android的所有系統(tǒng)屬性。
Getevent:打印所有的鍵盤和觸摸事件
Logcat:輸出日志
LS:用于顯示目錄內容
6、查看bug報告:
adb bugreport
7、記錄無線通訊日志:
一般來說,無線通訊的日志非常多,在運行時沒必要去記錄,但我們還是可以通過命令,設置記錄:
adb shell
logcat -b radio
8、獲取設備的ID和序列號:
adb get-product
adb get-serialno