在Autojs中,如何利用Github来实现云端代码运行!

声明:源代码转自白酒煮饭
本代码将源代码修正,并经过测试运行,可以正常运行,如有问题请发送邮箱:CarsonRyan696@gmail.com

/**
 * 个人配置
 */
var 用户名 = "CarsonRyan696"  //需要更换用户名
var 仓库名 = "JavaScript"     //需要更换仓库名
var 脚本名 = "测试.js"       //需要更换github中需要运行的脚本名

threads.start(main);//启动线程运行main函数
/**
 * 主函数:利用脚本引擎运行指定的代码
 */
function main() {
    console.show()    //打开控制台
    var github下载的脚本 = 下载Github文件()//这个方法返回的就是要运行的代码
    console.info("下载完成的代码为:"+'\n'+github下载的脚本)
    engines.execScript('Github下载的脚本', github下载的脚本)  //运行脚本
}

/**
 * 通过get请求从github下载zip文件
 */
function 下载Github文件() {
    try {
        var githubUrl = "https://github.com/" + 用户名 + "/" + 仓库名 + "/archive/Cloud-update.zip"
        var r = http.get(githubUrl)  //开始请求
        console.log('请求状态码Code:', r.statusCode) //请求状态码
        var zipFile = r.body.bytes() //这里下载的是二进制数据 
        if (zipFile) {
            var 代码路径 = Github文件夹(zipFile)//将请求成功的文件写入手机路径
            return files.read(代码路径)   //读取解压后脚本的内容
        } else {
            console.error('下载github代码失败')
            exit()
        }
    } catch (err) {
        console.error(err)  //抛出异常
        exit()  //退出
    }
}

/**
 * 将下载好的zip文件保存在手机
 */
function Github文件夹(zipFile) {
    var path = files.join(files.cwd(), "autojs.zip")//1、定义文件路径名  2、files.cwd()会返回:  /sdcard/脚本/  3、path=/sdcard/脚本/autojs.zip
    files.createWithDirs(path)  //开始创建文件
    console.info("创建好的文件路径path:", path)//输出创建好的文件路径
    files.writeBytes(path, zipFile)//把下载好的二进制数据写入文件中
    var r = 解压zip文件(path) //解压zip文件
    return r
}

/**
 * 在同一目录下解压zip文件
 */
function 解压zip文件(文件路径) {
    var 解压后的文件夹路径 = 文件路径.replace(".zip", "") + "/"  //利用replace方法将.zip去掉  
    com.stardust.io.Zip.unzip(new java.io.File(文件路径), new java.io.File(解压后的文件夹路径))//将zip文件进行解压
    console.warn('解压后的文件夹路径=', 解压后的文件夹路径)
    return 解压后的文件夹路径 + 仓库名 + "-Cloud-update" + "/" + 脚本名   //返回解压后的目录   返回对象:r
}

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值