常用的 input上報命令:
input text 1234 實際向界面注入1234文字,有輸入框,能明顯看到效果
input keyevent 4 鍵盤事件,4 為返回
input tap 100 300 單擊觸屏事件 ,模擬點擊x=100 y = 300 位置
input swipe 100 300 500 300 觸屏滑動事件,模擬滑動,從x =100
y = 300 滑動到x=500 y=300位置
input press 模擬按下軌跡球
input roll 100 300 模擬軌跡球滑動 x 方向100 y方向300
獲取坐標方法:
第一步:計算比例
adb shell getevent -p | grep -e “0035” -e “0036”
獲得event 體系里 寬(0035)和高(0036)
以當前我使用的手機為例,命令會輸出如下信息:
0035 : value 0, min 0, max 1602, fuzz 0, flat 0, resolution 0
0036 : value 0, min 0, max 2503, fuzz 0, flat 0, resolution 0
0035(寬) max 1602
0036(高) max 2503
計算比例(用已知的屏幕分辨率,如1080p即:1080(寬) * 1920(高)):
rateW = 1080(手機屏幕的寬) / 1602(event里0035的max) = 0.674
rateH = 1920(手機屏幕的高) / 2503(event里0036的max) = 0.767
第二步:點擊屏幕計算點擊位置的坐標
adb shell getevent | grep -e “0035” -e “0036”
點擊屏幕上需要的位置,會有如下輸出:
/dev/input/event0: 0003 0035 00000341
/dev/input/event0: 0003 0036 000008ec
把0035和0036后面的位置數據從16進制轉化為10進制
width = 0x341 = 3*16*16 + 4*16 + 1 = 833
height = 0x8ec = 8*16*16 + 14*16 + 12 = 2284
這是在event體系里的位置,將其轉化為屏幕位置
screenW = width*rateW = 833*0.674 = 561
screenH = height*rateH = 2284*0.767 = 1751
終于算出來了
剛剛點擊的屏幕位置坐標就是(561, 1751)
android adb shell input各種妙用
項目中使用一個開發版,預留兩個usb接口.類似華碩TinkerBoard. 一個用戶連接攝像頭,一個用于adb調試.結果就沒了鼠標的接口.多次切換鼠標和攝像頭插頭,非常不方便,帶攝像頭的app沒法調試 ...
Android模擬屏幕點擊input tap替代解決方案
動機解釋 本來直接使用 adb shell -> input 即可模擬 鍵盤事件,觸屏事件keyevent ,text,tap?但是手上的這臺目標Android機4.0.3系統的input只支持 ...
我的Android進階之旅------>Android中通過adb shell input來模擬滑動、按鍵、點擊事件
今天在維護公司的一個小項目的時候,發現按公司手機的某個物理按鍵,激活相應的Service后,會在屏幕上模擬的點擊了屏幕的某個坐標點.好家伙,原來是之前該項目的版本是按這個物理按鍵后,會彈出一個對話框, ...
Android:adb shell 命令詳解
安卓系統是基于Linux系統開發,也就支持常見的Linux的命令,這些命令都保存在手機“/system/bin”的目錄下,通過adb shell 便可以調用這些命令. 進入“/system/bin”該 ...
Android 執行 adb shell 命令
Android 執行Adb shell 命令大多需要root權限,Android自帶的Runtime. getRuntime().exec()容易出錯,在網上找到了一個執行adb shell命令的類 ...
Android 通過adb shell命令查看內存,CPU,啟動時間,電量等信息
Android 通過adb shell命令查看內存,CPU,啟動時間,電量等信息 ? by:授客 QQ:1033553122 1.? 查看內存信息 1)查看所有內存信息 命令: dumpsys mem ...
adb shell input keyevent code詳解
adb shell input keyevent 7 # for key '0' adb shell input keyevent 8 # for key '1' adb shell input ke ...
Android自動化----adb shell,appium,uiautomator2
1.區別 1,adb shell腳本的方式 不但可以在有電腦的情況下使用,通過數據線連接電腦然后adb shell命令,而且還可以打包成app,在手機的終端使用adb shell命令. 2,appiu ...
python(或BAT腳本)自動執行adb shell以后的命令
最近在用python做一個小工具,自動執行一些adb shell命令,使用subprocess.Popen來實現. ? 不過遇到個問題就是執行adb shell后就無法執行后面adb shell里的命 ...
隨機推薦
小結一下前段時間做的rpgdemo
雖然說已經是徹底放棄繼續做那個demo了(代碼結構混亂,想增加新功能非常的不方便),不過還是花了一點心血在里面的,畢竟這是我開始學習unity游戲制作的初衷,不過果然是學的越多越發現自己的不足... ...
T-SQL 語句創建Database的SQL mirroring關系
1 證書部分:principle 和 secondary 端執行同樣操作,更改相應name即可 USE master; --1.1 Create the database Master Key, if ...
MySQL bug:server-id默認被自己主動置為1
昨天同事在做主從時,從庫報例如以下錯誤: Got fatal error 1236 from master when reading data from binary log: 'Misconfigu ...
C++ 常見容器
迭代器. 基本介紹(來源于網絡):迭代器是一種抽象的概念.能夠遍歷容器內的 部分/全部 元素.每個迭代器中包含著元素的地址.? 它可以將 抽象容器 和 泛型算法 結合起來. ? 大致原理: 1)迭代器 ...
ftp一些東東
ftp如果綁定域名 登錄時登錄名應該寫成 域名|用戶名
關于s2sh框架關于hibernate懶加載問題的說明和解決方案
首先我們來看下面這個圖,解釋了一個web程序的一次請求流程! 懶加載異常的說明: 懶加載就是我們在查詢一個對象時,它所有的屬性是否要被查出來! 如果懶加載開啟的話,session在service層就被 ...
Centos-ip配置詳解
1 搭建好Centos ,我這里是CentOS-6.7-x86_64-minimal? 提供一個下載地址 鏈接:http://pan.baidu.com/s/1nvTUTh3 密碼:xewk 2 我是 ...
C# 處理Excel公式(一)——創建、讀取Excel公式
對于數據量較大的表格,需要計算一些特殊數值時,我們通過運用公式能有效提高我們數據處理的速度和效率,對于后期數據的增刪改查等的批量操作也很方便.此外,對于某些數值的信息來源,我們也可以通過讀取數據中包含 ...
hive數據查詢
Fetch task 丟棄了mapreduce的作業的繁重任務,查詢方便簡單 1.第一種方式 2.linux命令行 3.地3中