autojs调用java识字,在js中,用auto.js实现一个按键精灵。
Auto.js是利用安卓系統(tǒng)的“輔助功能”實現(xiàn)類似于按鍵精靈一樣,可以通過代碼模擬一系列界面動作的輔助工作。
與“按鍵精靈”不同的是,它的模擬動作并不是簡單的使用在界面定坐標點來實現(xiàn),而是類似與win一般,找窗口句柄來實現(xiàn)的,這一點,挺優(yōu)雅。
因為Auto.js是基于JavaScript的,學習Auto.js的API之前建議先學習JavaScript的基本語法和內(nèi)置對象,可以使用avaScript教程來學習。
如果您想要使用TypeScript來開發(fā),目前已經(jīng)有開發(fā)者公布了一個可以把使用TypeScript進行Auto.js開發(fā)的工具,參見Auto.js DevTools。
如果想要在電腦而不是手機上開發(fā)Auto.js,可以使用VS Code以及相應的Auto.js插件使得在電腦上編輯的腳本能推送到手機運行,參見Auto.js-VSCode-Extension。
自動操作"的部分又可以大致分為基于控件和基于坐標的操作。基于坐標的操作是傳統(tǒng)按鍵精靈、觸摸精靈等腳本軟件采用的方式,通過屏幕坐標來點擊、長按指定位置模擬操作,從而到達目的。例如click(100,
200), press(100, 200,
500)等。這種方式在游戲類腳本中比較有可行性,結(jié)合找圖找色、坐標放縮功能也能達到較好的兼容性。但是,這種方式對一般軟件腳本卻難以達到想要的效果,而且這種方式需要安卓7.0版本以上或者root權(quán)限才能執(zhí)行。所以對于一般軟件腳本(例如批量添加聯(lián)系人、自動提取短信驗證碼等等),我們采用基于控件的模擬操作方式,結(jié)合通知事情、按鍵事情等達成更好的工作流。
在開發(fā)文檔之外,個人遇到的問題,在此處記錄
UI線程中循環(huán)語句循環(huán)多次后報錯
Auto.js(以下簡稱AJ)要修改界面的屬性,需使用
ui.run(function(){
//TODO
});
在函數(shù)內(nèi)不建議使用大量的邏輯代碼,應盡量只包含少量的修改UI的代碼。否則就會報錯
Only the original thread that created a view hierarchy can touch its views.
比如像這樣的代碼,是很有可能出問題的
ui.run(function(){
for(var i=0;i
//數(shù)據(jù)準備操作
//修改界面內(nèi)容
}
});
應當改成:
for(var i=0;i
//數(shù)據(jù)準備
ui.run(function(){
//修改界面內(nèi)容
});
}
總結(jié)
以上是生活随笔為你收集整理的autojs调用java识字,在js中,用auto.js实现一个按键精灵。的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 建立二叉树链表结构
- 下一篇: 您需要了解的跨阻放大器——第1部分