autojs快捷辅助代码

autojs的官方文档

截图找坐标点颜色
//需要获得截图权限
var img=captureScreen()//截图 
var col = img.pixel(505,1363)//获取坐标点颜色
log(colors.toString(col))//将颜色转换字符串
弹出层
toast()
根据当前条件等待
text("文本信息").waitFor()//判断当前页面上是否有文本信息,有的话继续运行,否则等待
判断是否获取截图权限(不能和截图方法同时用,否则会请求两次)
if(!requestScreenCapture()){
    toast("请求截图失败")
    exit(); //停止向下运行
}
截图并保存
//需要获得截图权限
var img = images.captureScreen() //返回img对象
img.saveTo('/sdcard/脚本/111/1.jpg') //路径
//第二种方式
images.captureScreen('/sdcard/img/1.jpg')//不返回img对象,直接保存
在多线程判断当前页面是否有文本信息
threads.start(function(){
    //在新线程执行的代码
    while(true){
        if(text("文本").findOnce()){
            text("文本").findOnce().click();
            break;
        }else{
            sleep(3000)
        }
    }
});
截小图的方法
//需要获得截图权限
getimg(123,706,468,807,'/sdcard/脚本/111/xj1.png')

function getimg(x1,y1,x2,y2,path){
    //请求截图权限(截图,返回图片对象)
    var img=images.captureScreen()
    //将图片对象进行截取(参数一图片,参数二和三为左上角坐标,参数四和五为图片宽高(右下角坐标减左上角得到))
    var imgs=images.clip(img,x1,y1,x2-x1,y2-y1)
    //截取完后保存的路径
    imgs.saveTo(path)
    //最后将图片内存回收
    img.recycle()
}
图片的回收机制
//读取图片
var img=images.read("./1.jpg")
//对图片进行操作
//........
//回收图片
img.recycle()
// 例外的是,caputerScreen()截图返回的图片不需要回收。
点击控件的操作,方法很多,这里展示两种
click(681,1232)  //直接点击坐标

//获取到控件的坐标点再点击
var a=text("相册").findOne().bounds().centerX()
var b=text("相册").findOne().bounds().centerY()
click(a,b)
不同的跳转方式
//打开应用的详情页(设置页)。如果找不到该应用,返回false; 否则返回true。该函数也可以作为全局函数使用。
 var package=getPackageName('微信')//获取app的包名
 app.openAppSetting(package)  //打开应用信息
 
//启动Auto.js的特定界面。该函数在Auto.js内运行则会打开Auto.js内的界面,在打包应用中运行则会打开打包应用的相应界面。
app.startActivity('settings')  //设置页面
app.startActivity('console')  //日志页面
//用浏览器打开网站(无浏览器则抛出)
app.openUrl("https://www.baidu.com")
打开app和获取包名
前面的app可以省略
app.launchApp('抖音') //通过app名称打开

var package=getPackageName('QQ')//获取app的包名
toast(package)

var app = getAppName('com.tencent.mobileqq')  //packageName {string} 应用包名
// 获取应用包名对应的已安装的应用的名称。如果该找不到该应用,返回null
toast(app)

launch('com.tencent.mobileqq')  //通过app包名打开app
app.launchPackage(packageName)  //也是通过app包名打开app
自动发邮箱
//发送邮件给10086@qq.com和10001@qq.com。
app.sendEmail({
    email: ["10086@qq.com", "10001@qq.com"],
    subject: "这是一个邮件标题",
    text: "这是邮件正文"
});
获取脚本引擎的执行对象和引擎对象
//获取执行对象
var e = engines.execScriptFile("/sdcard/脚本/demo.js");
//等待脚本启动
sleep(2000);
toast(e.getConfig())
``

//获取引擎对象
let c=engines.execScriptFile('/sdcard/脚本/1.控件入门.js');
sleep(2000)
toast(c.getEngine())
UI界面重点单词
ui.layout();
View 视图
widget 控件
Layout布局
text文本
button按钮
img 图片
input输入框
progressbar进度条
checkbox 单选框
vertical垂直布局
horizontal水平
frame 帧布局
textSize字体大小
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
AutoJS是一款在Android上运行JavaScript脚本的工具,它可以用来自动化各种任务。在AutoJS中进行热更新代码的操作,可以通过以下步骤实现: 首先,需要在AutoJS的脚本中添加热更新的逻辑。可以使用网络请求库,比如`http.get()`函数来从服务器上获取最新的代码。获取到的代码可以使用`files.write()`函数将其写入到本地文件中。 其次,我们需要在AutoJS中设置一个定时任务,用来检测是否有新的代码更新。可以使用`setInterval()`函数来定时执行一个检测代码更新的逻辑,在逻辑中可以通过网络请求来获取服务器端设置的更新间隔时间。如果间隔时间到了,则执行热更新的逻辑。 在热更新的逻辑中,我们需要使用之前获取到的最新代码,将其写入到脚本文件中。可以使用`files.write()`函数将最新代码写入到指定的脚本文件中。 最后,为了确保热更新的代码能够立即生效,我们可以使用AutoJS中的`engines.stopAll()`函数来停止所有正在运行的脚本,并使用`engines.execScriptFile()`函数重新执行更新后的脚本文件。 综上所述,AutoJS的热更新代码可以通过获取最新代码、定时检测是否有新代码、将最新代码写入脚本文件、停止所有脚本并重新执行更新后的脚本文件等步骤来实现。这样就可以在运行中的AutoJS脚本中实现热更新,提高代码的维护和更新效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萧寂173

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值