欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Python腳本利用adb進行手機控制的方法

系統(tǒng) 2229 1

一.? adb 相關命令:

  1. 關閉adb服務:adb kill-server
  2. 啟動adb服務? adb start-server
  3. 查詢當前運行的所有設備? adb devices
  4. 可能在adb中存在多個虛擬設備運行 可以指定虛擬設備運行? -s 虛擬設備名稱
  5. 重啟設備 adb reboot? --指定虛擬設備?? adb -s 設備名稱 reboot
  6. 查看日志? adb logcat? 清除日志 adb logcat -c
  7. 進入linux shell下? adb shell 其中常用的linux命令? cd? cat 等等 輸入su可以獲取超級管理員名稱了 要確定是否有哪些命令 進入 system/bin目錄 就知道了
?  8. 傳入文件到設備中 adb push 本地文件 遠程目錄??

  9. 從設備中拷貝文件到本地? adb -s emulator-5556 pull /data/config.ini d:/

  10. 顯示當前運行的全部模擬器:
?   ? adb devices

  1 安裝應用程序:
??    adb install -r 123.apk

  12. 獲取模擬器中的文件:
???   adb pull

  13. 向模擬器中寫文件:
???   adb push

  14. 進入模擬器的shell模式:
???   adb shell

  15. 卸載apk包:
?????   adb shell
?????   cd data/app
?????   rm 123.apk
????   exit
?????   adb uninstall 123.apk
?????   adb install -r 123.apk

  16. 查看adb命令幫助信息:
?????   adb help
  17. 刪除系統(tǒng)應用:
?????   adb remount (重新掛載系統(tǒng)分區(qū),使系統(tǒng)分區(qū)重新可寫)。
?????   adb shell
?????   cd system/app
????    rm 123.apk

  18. 獲取管理員權限:
????    adb root

  19、復制文件:
????   復制一個文件或目錄到設備:
????   adb push
?????   如:adb push update.zip /sdcard/
???    從設備上復制一個文件或目錄:
????   adb pull
????   如:adb pull /sdcard/update.zip.

  20、取得當前運行設備的實例的列表及每個實例的狀態(tài):
???   adb devices

  21:adb shell input tap
 ???? 這條命令模擬Android手機在屏幕坐標(X,Y)處進行了點擊操作。

?  22:adb shell input swipe?

????   這條命令模擬Android手機從屏幕坐標(X1,Y1)滑動到坐標(X2,Y2)的操作。

  23、uiautomator dump?? dump: creates an XML dump of current UI hierarchy 這個命令是用來成成當前界面的UI層次,并用XML格式進行展示 。這樣就可以獲取各個組件的位置了

?  注:如果PC要想同時控制多臺Android手機,必須在adb 后面添加-s

  例如:adb -s 13b6e4c4 shell input tap 400 400

  表示對13b6e4c4這臺Android手機進行在屏幕上(400,400)坐標位置進行模擬的點擊事件。

  24.   能看到設備信息就代表設備已經連接成功了,接下來的命令就是adb install 路徑+包名.apk

例如我的安裝包放在桌面,那么命令就是adb install C:\Users\hyh\Desktop\XXX.apk

*** adb shell uiautomator dump /mnt/sdcard/window_dump.xml 獲得手機當前界面的UI信息,生成window_dump.xml
*** adb shell input text “123” 輸入text

舉例:

?    1、打開cmd,進入到當前文件夾中,輸入命令 adb devices 查看當前與電腦連接的設備(前提是,手機打開usb調試模式),可以查看已連接成功的手機。

    2、 若手機成功連接,輸入命令 adb shell input tap 100 100 , 表示點擊屏幕上坐標為(100,100)的點,如果不知道需要點擊的點的具體位置的話可以在手機開發(fā)者模式中設置。

二. adb 模擬按鍵:

1. 比如使用 adb shell input keyevent 命令,不同的 keycode 能實現不同的功能,完整的 keycode 列表詳見 KeyEvent,摘引部分我覺得有意思的如下:

keycode 含義
3 HOME 鍵
4 返回鍵
5 打開撥號應用
6 掛斷電話
24 增加音量
25 降低音量
26 電源鍵
27 拍照(需要在相機應用里)
64 打開瀏覽器
82 菜單鍵
85 播放/暫停
86 停止播放
87 播放下一首
88 播放上一首
122 移動光標到行首或列表頂部
123 移動光標到行末或列表底部
126 恢復播放
127 暫停播放
164 靜音
176 打開系統(tǒng)設置
187 切換應用
207 打開聯系人
208 打開日歷
209 打開音樂
210 打開計算器
220 降低屏幕亮度
221 提高屏幕亮度
223 系統(tǒng)休眠
224 點亮屏幕
231 打開語音助手
276 如果沒有 wakelock 則讓系統(tǒng)休眠

2. input 命令的一些用法舉例

?電源鍵

?命令:

            
adb shell input keyevent 26
          

執(zhí)行效果相當于按電源鍵。

?菜單鍵

?命令:

            
adb shell input keyevent 82
          

?HOME 鍵
?命令:

            
adb shell input keyevent 3
          

返回鍵
命令:

            
adb shell input keyevent 4
          

音量控制
增加音量:

            
adb shell input keyevent 24
          

降低音量:

            
adb shell input keyevent 25
          

靜音:

            
adb shell input keyevent 164
          

媒體控制

播放/暫停:

            
adb shell input keyevent 85
          

停止播放:

            
adb shell input keyevent 86


          

播放下一首:

            
adb shell input keyevent 87
          

播放上一首:

            
adb shell input keyevent 88
          

恢復播放:

            
adb shell input keyevent 126
          

暫停播放:

            
adb shell input keyevent 127
          

點亮/熄滅屏幕

可以通過上文講述過的模擬電源鍵來切換點亮和熄滅屏幕,但如果明確地想要點亮或者熄滅屏幕,那可以使用如下方法。

點亮屏幕:

            
adb shell input keyevent 224
          

熄滅屏幕:

            
adb shell input keyevent 223
          

三、使用python腳本自動運行cmd 命令

?在adb文件夾下建立一個python文件

            
import os
os.system('adb shell input tap 100 100');

          

運行腳本,發(fā)現與在命令行輸入相同語句有同樣的效果。

2、也可以使用subprocess.Popen,最簡單使用方式如下,設置shell=True,就不會彈出cmd框

            
process = subprocess.Popen('adb shell input tap 14 1402',shell=True)
          

程序實例:?

            
#coding:utf-8
#程序功能:可以實現抖音個人頁面視頻的自動點擊,從而自動增加訪問量
#思路:抖音主頁中兩個視頻切換點擊,可以實現訪問量的增加
#使用ADB程序,視頻的屏幕坐標可以使用adb shell uiautomator dump命令,獲取該頁面xml源碼后查得
#下述是小米MIX2抖音主頁第一個視頻和第二個視頻的坐標位置
#缺點:運行時不能移動屏幕,后續(xù)可以采用獲取模塊ID號的方式去點擊相應的位置
import time
import subprocess
i = 0
#每次操作的間隔時間取決于手機配置,配置越高時間越短
sleep_time = 0.5 
while 1:
  #用popen設置shell=True不會彈出cmd框
  process = subprocess.Popen('adb shell input tap 14 1402',shell=True)
  time.sleep(sleep_time)
  process = subprocess.Popen('adb shell input keyevent KEYCODE_BACK', shell=True)
  time.sleep(sleep_time)
  process = subprocess.Popen('adb shell input tap 375 1402', shell=True)
  time.sleep(sleep_time)
  process = subprocess.Popen('adb shell input keyevent KEYCODE_BACK', shell=True)
  time.sleep(sleep_time)
  #os.system('adb shell input tap 14 1402')
  #os.system('adb shell input keyevent KEYCODE_BACK')
  #os.system('adb shell input tap 375 1402')
  i+=1
  print str(i) + 'clicks have been completed' 


          

?實現原理

Hierarchy Viewer:獲得當前手機實時的UI信息,方便用于手機的自動化測試;

python中的subprocess.Popen() 或 Python os模塊:調用系統(tǒng)命令;

uiautomator工具:獲取界面控件信息;

adb命令:對手機進行操作;

?以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共1條評論
  1. Yuanchao.Ying@sz-sunway.com
    博主,文章很受用,請問如何查看文章后面的腳本指令,謝謝,
    Yuanchao.Ying@sz-sunway.com2022-12-01 14:17:29 回復
主站蜘蛛池模板: 一区二区三区欧美在线观看 | 亚洲成人精品在线观看 | 日本www视频在线观看 | 天天天天天操 | 久久精品伊人网 | 亚洲欧美日韩中文字幕在线不卡 | 天天操操操操操操 | 国产成人91精品 | 91精品久久久久久久久网影视 | 日本免费在线视频 | 一本一道久久综合狠狠老 | 国产精品亚洲成在人线 | www.奇米第四色 | 青娱乐国产精品 | 美女午夜色视频在线观看 | 成人免费在线视频观看 | 97久久国语露脸精品对白 | 欧美大香线蕉线伊人久久 | 三级三级三级a三级三级 | 九九综合九九 | 91精品国产综合久久福利软件 | 日韩精品视频免费观看 | 久久精品国产亚洲一区二区 | 亚洲视频免费在线观看 | 日韩精品欧美高清区 | 四色永久| 欧美交| 久久久久久国产精品免费免费狐狸 | 中文无码日韩欧 | 亚洲天堂视频在线免费观看 | 爱人同志国语免费观看全集 | 91精品国产综合久久久密闭 | 999热在线视频 | 国内精品久久久久影院老司 | 成人性生交大片 | 国产色a| 亚洲精品成人av久久 | 剑来高清在线观看 | 龙珠z国语版在线观看 | 黄页成人免费网站 | 日韩喷水 |