“auto.js”是個基于JavaScript語言運行在Android平臺上的腳本框架,“auto.js”主要工作原理是基于輔助服務“AccessibilityService”。
Auto.js是利用安卓系統的“輔助功能”實現類似于按鍵精靈一樣,可以通過代碼模擬一系列界面動作的輔助工作。
與“按鍵精靈”不同的是,它的模擬動作并不是簡單的使用在界面定坐標點來實現,而是類似與win一般,找窗口句柄來實現的,這一點,挺優雅。
因為Auto.js是基于JavaScript的,學習Auto.js的API之前建議先學習JavaScript的基本語法和內置對象,可以使用avaScript教程來學習。
如果您想要使用TypeScript來開發,目前已經有開發者公布了一個可以把使用TypeScript進行Auto.js開發的工具,參見Auto.js DevTools。
如果想要在電腦而不是手機上開發Auto.js,可以使用VS Code以及相應的Auto.js插件使得在電腦上編輯的腳本能推送到手機運行,參見Auto.js-VSCode-Extension。
自動操作"的部分又可以大致分為基于控件和基于坐標的操作?;谧鴺说牟僮魇莻鹘y按鍵精靈、觸摸精靈等腳本軟件采用的方式,通過屏幕坐標來點擊、長按指定位置模擬操作,從而到達目的。例如click(100, 200), press(100, 200, 500)等。這種方式在游戲類腳本中比較有可行性,結合找圖找色、坐標放縮功能也能達到較好的兼容性。但是,這種方式對一般軟件腳本卻難以達到想要的效果,而且這種方式需要安卓7.0版本以上或者root權限才能執行。所以對于一般軟件腳本(例如批量添加聯系人、自動提取短信驗證碼等等),我們采用基于控件的模擬操作方式,結合通知事情、按鍵事情等達成更好的工作流。
在開發文檔之外,個人遇到的問題,在此處記錄
UI線程中循環語句循環多次后報錯
Auto.js(以下簡稱AJ)要修改界面的屬性,需使用
ui.run(function(){//TODO});
在函數內不建議使用大量的邏輯代碼,應盡量只包含少量的修改UI的代碼。否則就會報錯
Only the original thread that created a view hierarchy can touch its views.
比如像這樣的代碼,是很有可能出問題的
ui.run(function(){for(vari=0;i<len;i++){//數據準備操作//修改界面內容}});
應當改成:
for(vari=0;i<len;i++){//數據準備ui.run(function(){//修改界面內容});}
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
全球第一大互聯網公司是哪家?全球第一大互聯網公司叫亞馬遜??偛吭O在西雅圖的亞馬遜,成立于1995年,是一家依托互聯網的電子商務企業,開始在網上賣書,現在已經發展成為產品門類最全、創意最多的零售商家。眾所周知,亞馬遜開始在線上,賣書,通過低價獲得了大量用戶,并逐漸搶占了美國零售市場的市場份額,此后,亞馬遜不斷擴大商品類別,成為線上電子商務平臺。與此同時,亞馬遜擴展并建立了第三方賣家平臺makes,使...
資金頭寸是什么意思?通俗點講,資金頭寸就是指“錢”,一般在銀行或證券市場比較常見。頭寸分為收入方和付出方,如果收入方和付出方款項不一致,就會存在差額,此時就需要頭寸調拔。銀行頭寸:打個比方:投資者要去銀行提現1千萬存款,但突然大額取現銀行頭寸肯定不夠,所以要提前預約。如果該支行網點一下子不能拿出1千萬給投資者取現,就要去總行將資金調撥過來,所以這1千萬就叫頭寸,而去總行調拔...
央行100億逆回購意味著市場資金比較充足,貨幣政策仍處于一個維穩狀態。央行逆回購其實就是向市場投放一定的資金,從而保持市場的活躍性,資金流通平穩。央行逆回購是國家實行較寬松的貨幣政策,不斷的增加貨幣供應量,使其流入市場。央行逆回購是什么央行逆回購指的是中國人民銀行向一級交易商買入有價證券,雙方再約定好在將來特定日期把這些有價證券再賣還給一級交易商的交易行為。通俗點來說,是央行把資金借給商業銀行,商...