這篇文章將為大家詳細講解有關(guān)auto.js指的是什么意思,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

“auto.js”是個基于JavaScript語言運行在Android平臺上的腳本框架,“auto.js”主要工作原理是基于輔助服務(wù)“AccessibilityService”。
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以及相應(yīng)的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)不建議使用大量的邏輯代碼,應(yīng)盡量只包含少量的修改UI的代碼。否則就會報錯
Only the original thread that created a view hierarchy can touch its views.
比如像這樣的代碼,是很有可能出問題的
ui.run(function(){
for(var i=0;i<len;i++){
//數(shù)據(jù)準備操作
//修改界面內(nèi)容
}
});應(yīng)當改成:
for(var i=0;i<len;i++){
//數(shù)據(jù)準備
ui.run(function(){
//修改界面內(nèi)容
});
}關(guān)于“auto.js指的是什么意思”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
當前名稱:auto.js指的是什么意思-創(chuàng)新互聯(lián)
當前網(wǎng)址:http://www.chinadenli.net/article22/dodgjc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、標簽優(yōu)化、網(wǎng)站內(nèi)鏈、網(wǎng)站導航、商城網(wǎng)站、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容