在夜神模擬器中使用adb
一、如何找到adb?
? ?安裝夜神安卓模擬器后,電腦桌面會有“夜神模擬器”的啟動圖標,鼠標右鍵--打開文件所在的位置,就會進入***\Nox\bin,比如小編的路徑是C:\Program Files (x86)\Nox\bin,然后可以在該路徑下找到nox_adb.exe
二、如何連接設備?
? ?首先需要進入\Nox\bin路徑的cmd窗口,如何進入?
? ?方式一:繼續(xù)上述的步驟,進入\Nox\bin目錄,然后按Shift鍵的同時,單擊鼠標右鍵,就會看到“在此處打開命令窗口(W)”,點擊即可進入\Nox\bin路徑的cmd窗口。
? ?方式二:按Windows+R鍵,在彈出的“運行”窗口輸入cmd,確定,然后輸入cd C:\Program Files (x86)\Nox\bin(說明:這是你的夜神模擬器安裝路徑),即可。說明:如果你的夜神模擬器不是安裝在C盤,比如安裝在D盤,請在cd前面先輸入D:?然后按回車鍵,再cd ...\Nox\bin。
? ?? ???在連接設備之前,先查看一下在運行的設備:
? ?? ???nox_adb.exe devices
? ?? ? C:\Program Files (x86)\Nox\bin>nox_adb devices
? ?? ? List of devices attached
? ?? ? 127.0.0.1:62001 device
? ?說明:nox_adb.exe?完全等同于nox_adb,也完全等同于adb,下同。比如adb devices。
? ?? ???如果未啟動夜神模擬器,就會得到如下信息:
? ?? ? C:\Program Files (x86)\Nox\bin>adb devices
? ?? ? List of devices attached
? ?? ? (這一行是空的,需要我們先把夜神模擬器啟動一下)
? ?? ???如果啟動的模擬器不止一個,如果連接設備?
? ?比如小編多開了3個夜神模擬器,adb devices一下,會看到如下信息:
? ?? ???C:\Program Files (x86)\Nox\bin>nox_adb devices
? ?? ???List of devices attached
? ?? ? 127.0.0.1:62001 device
? ?? ? 127.0.0.1:62025 device
? ?? ? 127.0.0.1:62026 device
??(夜神模擬器的端口是規(guī)律的,第一個模擬器端口是62001,第二個模擬器端口是62025,第三個是62025+1,以此類推)
? ?如果指定在62001?上安裝一個apk,那么請輸入:adb -s 127.0.0.1:62001 install D:\\QQ.apk
? ?溫馨提示:adb -s 127.0.0.1:620**?可連接任意指定的設備,多開模擬器后想怎么連都可以,為方便教程,以下操作都是在單開模擬器下進行,如果多開需要,只需要在adb后面帶上-s 127.0.0.1:620**?即可。
? ?? ???三、常用adb操作
1、如何把電腦上的文件或文件夾傳到模擬器里面?
adb push D:/sex.avi /mnt/avi/
2、如何把模擬器里面的文件或文件夾傳到電腦上?
adb pull /mnt/avi/sex.avi D:/avi/
3、安裝APK
adb install d:\\qq.apk
4、卸載APK
adb uninstall?包名
比如卸載QQ:adb uninstall com.tencent.mobileqq
5、PM包命令
1)獲取模擬器所有包名
adb shell pm list packages
2)獲取模擬器所有包名并且包括APK路徑
adb shell pm list packages -f
3)獲取包名對應的APK路徑
adb shell pm path packageName
4)清理應用數據
adb shell pm clear packageName
6、啟動應用
adb shell am start -n?包名/Activity類名
例子:啟動應用寶:
adb shell am start -n com.tencent.android.qqdownloader/com.tencent.assistant.activity.SplashActivity
指定模擬器啟動動應用寶:
adb -s 127.0.0.1:5555 shell am start -n com.tencent.android.qqdownloader/com.tencent.assistant.activity.SplashActivity
7、關閉應用
adb shell am force-stop?包名
8、模擬輸入
adb shell input text?字符串(不支持中文)
9、模擬按鍵
adb shell input keyevent?鍵值
10、模擬鼠標點擊
adb shell input tap X Y
11、模擬鼠標滑動
adb shell input swipe X1 Y1 X2 Y2
12、截屏
adb shell screencap -p /sdcard/screencap.png
13、設置手機IMEI/IMSI/手機號/SIM卡序列號
adb shell setprop persist.nox.modem.imei 352462010682470
adb shell setprop?persist.nox.modem.imsi 460000000000000
adb shell setprop?persist.nox.modem.phonumber 15605569000
adb shell setprop?persist.nox.modem.serial 89860000000000000000
14、nox_adb shell進去然后執(zhí)行下面的命令修改經緯度
setprop persist.nox.gps.latitude xxx
setprop persist.nox.gps.longitude xxx
15、修改mac地址
setprop persist.nox.wifimac xxx? ?? ?? ?? ?? ?? ?修改mac地址
setprop persist.nox.modem.phonumber 138111111111 ? ? ? ? 手機號,生成一個隨機11位數字
setprop persist.nox.model ABC001? ?? ?? ?? ?? ?? ?手機型號,英文加數字隨機
setprop persist.nox.manufacturer XiaoMi ? ? ? ? ? ? ? 手機制造商英文隨機
setprop persist.nox.brand Mi? ?? ?? ?? ?? ?? ???手機品牌英文隨機
16、adb logcat
打印log信息
指令
說明
備注
adb logcat
打印log
/
adb logcat -c
清除手機的log buffer
有些手機權限控制,?不支持.
adb logcat -b <buffer>
打印指定buffer的log信息
buffer有: main(主log區(qū),默認), events(事件相關的log), radio(射頻, telephony相關的log)
adb logcat -v <format>
格式化輸出log
常用的用adb logcat -v time顯示時間
adb logcat -f <filename>
輸出log到指定文件
17、adb start/kill-server
啟動/殺死adb簡介中提到的Server端進程。
由于adb并不穩(wěn)定,?有時候莫名的問題掉線時,?可以先kill-server,?然后start-server來確保Server進程啟動。往往可以解決問題。
18、adb shell am
am即activity manager.
該命令用來執(zhí)行一些系統(tǒng)動作,?例如啟動指定activity,?結束進程,?發(fā)送廣播,?更改屏幕屬性等.?調試利器.
指令
說明
備注
start <Intent>
根據intent指向啟動Activity
Intent可以是顯示的指向activity,?也可以是ACTION方式,?并且可以添加flag, data等參數信息.
startservice <Intent>
啟動Service
可以添加flag, data等參數信息.
broadcast <Intent>
發(fā)送廣播
可以添加flag, data等參數信息.
monitor
啟動一個Crash和ANR的監(jiān)聽器
如有Crash或ANR會在控制臺輸出相關信息.
force-stop <Package>
強制停止該包相關的一切
傳入package name.
kill <Package>
殺死該包相關的所有進程
傳入package name.
kill-all
殺死所有后臺進程
display-size WxH
改變顯示的分辨率
例如adb shell am display-size 1280x720,?手機可能不支持.
display-density <dpi>
改變顯示的density
例如adb shell am display-density 320,?手機可能不支持.
19、adb shell dumpsys
強大的dump工具,?可以輸出很多系統(tǒng)信息.?例如window, activity, task/back stack信息, wifi信息等.
常用dumpsys:
指令
說明
備注
細分參數
activity
輸出app組件相關信息
還可以用細分參數獲得單項內容,?下同.?例如adb shell dumpsys activity activities來獲取activity task/back stack信息.
activites, service, providers, intents, broadcasts, processes
alarm
輸出當前系統(tǒng)的alarm信息
cpuinfo
輸出當前的CPU使用情況
diskstats
輸出當前的磁盤使用狀態(tài)
batterystats
電池使用信息
package
package相關信息,?相當于pm功能的集合
輸出諸如libs, features, packages等信息
/
meminfo
輸出每個App的內存使用和系統(tǒng)內存狀態(tài)
可以指定包名,?例如adb shell dumpsys meminfo com.anly.githubapp
/
window
輸出當前窗口相關信息
/
policy, animator, tokens, windows
20.復制??-copy:<nox_id> _from:<nox_id>例:Nox.exe -copy:Nox_1 -from:nox
Nox_1是新增的模擬器,復制自nox
21.刪除??-remove:<nox_id>
例:Nox.exe -remove:Nox_2
刪除模擬器Nox_2
22.備份??-backup:<nox_id> -file:filepath
例:Nox.exe -backup:Nox_1 -file:C:\Users\xxxx\Desktop
備份Nox_1到桌面
23.還原??-restore:<nox_id> -file:filepath
例:Nox.exe -restore:Nox_1 -file:C:\xxxx\lihc\Desktop\backup20171030174008.vmdk
[C:\Users\xxxx\Desktop\backup20171030174008.vmdk]文件還原到Nox_1