├── .gitignore ├── .vscode └── autojs.code-snippets ├── 乱七八糟 ├── Demo │ ├── canvas │ │ ├── 一直在跳的球255.js │ │ ├── 图片加文字383.js │ │ ├── 图片加水印.js │ │ ├── 画正方形.js │ │ ├── canvas画正方形117.js │ │ ├── 截图水印.js │ │ └── 截图水印412.js │ ├── 获取手机粘贴板.js │ ├── pro商店的脚本 │ │ ├── ui启动ui-1.0.0.1 │ │ │ ├── ui.js │ │ │ └── main.js │ │ ├── .DS_Store │ │ ├── 二维码自定义生成-1.0.0.1 │ │ │ └── res │ │ │ │ └── logo.png │ │ ├── 亲戚关系计算器-1.0.0.1 │ │ │ └── res │ │ │ │ └── logo.png │ │ ├── 悬浮教程文档-1.0.0.1 │ │ │ └── res │ │ │ │ └── logo.png │ │ ├── 一般常用函数模块-1.0.15.1015 │ │ │ └── lib │ │ │ │ └── RootTools-3.4.jar │ │ ├── 更新UI悬浮窗样例-1.0.0.1 │ │ │ ├── res │ │ │ │ └── img │ │ │ │ │ └── download_bg-1.png │ │ │ └── project.json │ │ ├── 文件选择对话框-1.0.1.2 │ │ │ └── main.js │ │ ├── Uiobject节点的智能提示(包含文档中没有的api)-1.0.0.1 │ │ │ └── main.js │ │ ├── 脚本引擎实现顺序执行-1.0.0.1 │ │ │ ├── 脚本1.js │ │ │ ├── 脚本2.js │ │ │ ├── 脚本3.js │ │ │ ├── main.js │ │ │ └── project.json │ │ ├── 跑马灯-1.0.0.1 │ │ │ └── project.json │ │ ├── 打手那个枪-1.0.0.1 │ │ │ └── project.json │ │ ├── 刮刮卡之佐罗-1.0.0.1 │ │ │ └── project.json │ │ ├── 录屏简单实现-1.0.0.1 │ │ │ └── project.json │ │ └── 无情的打字机-1.0.0.0 │ │ │ └── project.json │ ├── 工具箱 │ │ ├── 脚本排队 │ │ │ ├── 1.js │ │ │ ├── 3.js │ │ │ └── 2.js │ │ ├── 脚本通信 │ │ │ ├── broadcast通信 │ │ │ │ ├── 后发送.js │ │ │ │ └── 先监听.js │ │ │ ├── 脚本结束事件.js │ │ │ ├── engines通信 │ │ │ │ ├── 2.js │ │ │ │ └── 1.js │ │ │ └── ScriptEngine_emit通信 │ │ │ │ ├── 1.js │ │ │ │ └── 2.js │ │ ├── 抓取logcat日志453.js │ │ ├── .DS_Store │ │ ├── 二维码 │ │ │ ├── 二维码识别.dex │ │ │ └── 图片二维码识别.js │ │ ├── 脚本排队第二种 │ │ │ ├── 2.js │ │ │ ├── 3.js │ │ │ └── 1.js │ │ ├── 数组填充.js │ │ ├── 脚本引擎实现顺序执行 │ │ │ ├── 脚本1.js │ │ │ ├── 脚本2.js │ │ │ ├── 脚本3.js │ │ │ ├── main.js │ │ │ └── project.json │ │ ├── 一个字一个字输入 │ │ ├── 微信直接跳转扫一扫243.js │ │ ├── 获取对象属性.js │ │ ├── 监听一次toast.js │ │ ├── 调整手机音量402.js │ │ ├── shell开关飞行模式135.js │ │ ├── 结束autojs自己.js │ │ ├── 改变toast位置120.js │ │ ├── 模板字符串408.js │ │ ├── 停止除了自身的脚本250.js │ │ ├── 删除行.js │ │ ├── cookie.js │ │ ├── 1获取当前app名字122.js │ │ ├── 二维码识别186.js │ │ ├── 实时显示脚本运行时长214.js │ │ ├── 双击返回退出的ui266.js │ │ ├── 1删除重写@data@data@com.aaa.bbb226.js │ │ ├── shell启动脚本.js │ │ ├── 单例模式.js │ │ ├── 提取广播数据126.js │ │ ├── 读写@data目录文件379.js │ │ ├── 繁简转换 │ │ │ └── 繁简转换.js │ │ ├── 最大公约数.js │ │ ├── activity.js │ │ ├── 微信搜索框输入消息291.js │ │ ├── 马冬梅.js │ │ ├── 手机号码归属地查询238.js │ │ ├── 微信朋友圈分享256.js │ │ ├── 停止给定名字脚本StopEngine161.js │ │ ├── 小米锁屏解锁密码8888136.js │ │ ├── 实心158.js │ │ ├── 线段上的所有点.js │ │ ├── 编辑距离py2js318.js │ │ └── music110.js │ ├── 电脑知识点 │ │ └── win7结束任务.txt │ ├── .DS_Store │ ├── UI │ │ ├── .DS_Store │ │ ├── 手勢模塊 │ │ │ └── 44.png │ │ ├── 在别的脚本中获取ui的控件属性 │ │ │ ├── 获取ui模块中按钮的文本.js │ │ │ └── ui模块.js │ │ ├── 一开始不要显示输入法.js │ │ ├── UI和悬浮窗一起使用的完整栗子 │ │ │ ├── main.js │ │ │ ├── window在屏幕之内.js │ │ │ ├── 带属性的悬浮窗.js │ │ │ ├── view点击事件.js │ │ │ └── 悬浮窗输入框.js │ │ ├── 悬浮窗和UI一起使用的例子 │ │ │ ├── main.js │ │ │ ├── window在屏幕之内.js │ │ │ ├── 带属性的悬浮窗.js │ │ │ └── view点击事件.js │ │ ├── 全局半透明背景1192.js │ │ ├── 图片圆角.js │ │ ├── 按钮平分.js │ │ ├── webViewClient的用法.js │ │ ├── 显示网页.js │ │ ├── ui多界面215.js │ │ ├── 全屏显示背景图191.js │ │ ├── 随机颜色.js │ │ ├── ui延时.js │ │ ├── webviewClient的使用方法.js │ │ ├── 复选框.js │ │ ├── 输入框光标.js │ │ ├── windowFlag.js │ │ ├── 监听 │ │ │ └── 输入框删除监听.js │ │ ├── switch控件.js │ │ ├── Switch控件242.js │ │ ├── 获取ui界面左上角坐标.js │ │ ├── 双击返回退出的ui.js │ │ ├── activity.js │ │ ├── 在ui中使用悬浮窗demo.js │ │ ├── list显示脚本文件夹下所有js文件.js │ │ ├── webView填充表单.js │ │ ├── 动态显示隐藏布局156.js │ │ ├── webView输入关键词搜索.js │ │ ├── list隔行变色.js │ │ ├── activity和context.js │ │ ├── WebView简单示例安卓调用js428.js │ │ ├── 保存imgView加载的图片.js │ │ ├── 获取UI界面控件宽度和高度.js │ │ ├── 帧布局139.js │ │ ├── 表格布局283.js │ │ ├── ui显示日志.js │ │ └── 循环缩放webView.js │ ├── 悬浮窗 │ │ ├── .DS_Store │ │ ├── 悬浮窗单位px.js │ │ ├── UI和悬浮窗一起使用的完整栗子 │ │ │ ├── main.js │ │ │ ├── window在屏幕之内.js │ │ │ ├── 带属性的悬浮窗.js │ │ │ ├── view点击事件.js │ │ │ └── 悬浮窗输入框.js │ │ ├── 悬浮窗和UI一起使用的例子 │ │ │ ├── main.js │ │ │ ├── window在屏幕之内.js │ │ │ ├── 带属性的悬浮窗.js │ │ │ └── view点击事件.js │ │ ├── 按钮平分.js │ │ ├── flash.js │ │ ├── 悬浮窗日志.js │ │ ├── 悬浮窗下拉框.js │ │ ├── 焦点.js │ │ ├── 悬浮窗脚本列表.js173.js │ │ └── 悬浮时间268.js │ ├── module.expo.pdf │ ├── 111111111柴房 │ │ ├── yeah.png │ │ ├── 微信赞赏码.png │ │ ├── 支付宝收款码.jpg │ │ └── 2222222.js │ ├── 小游戏 │ │ └── 坦克大战游戏 │ │ │ ├── audio │ │ │ ├── move.mp3 │ │ │ ├── prop.mp3 │ │ │ ├── attack.mp3 │ │ │ ├── start.mp3 │ │ │ ├── tankCrack.mp3 │ │ │ ├── bulletCrack.mp3 │ │ │ └── playerCrack.mp3 │ │ │ ├── images │ │ │ ├── menu.gif │ │ │ └── tankAll.gif │ │ │ └── js │ │ │ └── num.js │ ├── 白酒煮饭 │ │ ├── [Http代理] 讯代理_优质代理.js │ │ ├── 刷会撩更会聊QQ勋章.js │ │ ├── 使用命令删除图片后,更新图库缓存.js │ │ ├── 自动连接电脑vscode.js │ │ ├── 自动加QQ好友.js │ │ ├── 检测网络是否可用.js │ │ ├── 打印当前页面 所有的 文字 和描.js │ │ ├── 全局半透明背景.js │ │ ├── 搜狗图床.js │ │ ├── 查看wifi状态.js │ │ ├── 改变字体颜色.js │ │ ├── QQ清除好友聊天字体.js │ │ ├── 每日一句(英文励志).js │ │ ├── 朋友圈点赞.js │ │ ├── QQ名片点赞脚本.js │ │ ├── QQ加好友.js │ │ ├── 查询本机IP地理位置.js │ │ ├── [刷脸打卡]快速进入钉钉打卡界面.js │ │ ├── 免费时间API.js │ │ ├── 删除空白文件.js │ │ ├── 双击返回退出的ui.js │ │ ├── 九九乘法表.js │ │ ├── 截图水印.js │ │ ├── 百度翻译[中转英].js │ │ ├── 只同时运行一个脚本.js │ │ ├── 取关全部公众号.js │ │ ├── 薅羊毛线报.js │ │ ├── 支付宝帐单自动清理.js │ │ ├── 百度文字识别(自动获取token).js │ │ ├── 百度人脸识别.js │ │ ├── 日期➕周数.js │ │ └── [QQ] 为指定好用发送固定金额的红包..js │ ├── http │ │ ├── [Http代理] 讯代理_优质代理425.js │ │ ├── httpBuild.js │ │ ├── 1查询本机IP地理位置322.js │ │ ├── http超时返回null.js │ │ └── 格式化headers.js │ ├── 动画 │ │ ├── surface(简单精灵动画) │ │ │ └── 1122.png │ │ └── 视觉干扰神器(记忆力增强).js │ ├── intent │ │ ├── 淘宝 内打开网页389.js │ │ ├── 打开vpn.js │ │ ├── 打开飞行模式设置界面.js │ │ ├── 打开无障碍设置界面.js │ │ ├── 启动脚本data.js │ │ ├── 启动脚本autojsProIntent.js │ │ ├── 打开关闭usb网络共享.js │ │ ├── 启动脚本extras.js │ │ ├── 发送广播.js │ │ ├── 小米图库查看图片.js │ │ ├── 语音识别.js │ │ └── 提取广播数据.js │ ├── 微信 │ │ └── root打开朋友圈.js │ ├── 手机 │ │ ├── 横竖屏.js │ │ ├── 判断屏幕是否锁定.js │ │ ├── 查看wifi状态.js │ │ ├── 播放系统提示音.js │ │ ├── 获取手机桌面壁纸.js │ │ ├── 高级输入法.js │ │ ├── 无限震动.js │ │ ├── 调整屏幕亮度.js │ │ ├── callPhone.js │ │ ├── 直接打开开发者模式.js │ │ ├── 花500买的_联系人_短信_日历_通话记录 │ │ │ ├── 短信 │ │ │ │ ├── 发短信.js │ │ │ │ ├── 收短信.js │ │ │ │ └── 读短信.js │ │ │ └── 通讯录增删改查 │ │ │ │ └── 读取通讯录.js │ │ ├── 获取wifi信息.js │ │ ├── 开发者选项-指针位置116.js │ │ ├── 开发者选项指针位置.js │ │ ├── 获取通讯录.js │ │ ├── 铃声.js │ │ ├── 全部短信获取144.js │ │ └── 添加联系人.js │ ├── 加密 │ │ ├── md5.js │ │ └── autojs和nodejs的AES_CBC加解密Demo │ │ │ └── nodejs_AES_CBC加解密.js │ ├── app操作 │ │ ├── 获取app安装时间153.js │ │ ├── 禁止联网133.js │ │ ├── 打开app安装界面.js │ │ ├── 获取指定应用的版本号.js │ │ ├── 结束autojs自己.js │ │ ├── 最新安装的app176.js │ │ ├── 获取app图标1229.js │ │ └── 强制更新.js │ ├── 广播 │ │ ├── 发射广播362.js │ │ └── 打印广播Intent信息232.js │ ├── 数组 │ │ ├── 随机打乱数组顺序329.js │ │ ├── 1求交集222.js │ │ └── 大数组包含小数组.js │ ├── events │ │ ├── 气泡监听和移除.js │ │ └── 按下键停止脚本运行252.js │ ├── 显示消息 │ │ └── 改变toast位置.js │ ├── 百度网盘 │ │ └── 百度网盘bsd获取199.js │ ├── 字符串 │ │ └── 模板字符串.js │ ├── 手势 │ │ ├── 心形手势.js │ │ └── 小米锁屏解锁.js │ ├── 时间 │ │ └── 实时显示脚本运行时长.js │ ├── jar │ │ └── 二维码识别.js │ ├── 第三方API接口 │ │ ├── 语音识别177.js │ │ ├── 百度AI开放平台人脸检测102.js │ │ └── 百度文字识别140.js │ ├── 养号 │ │ └── dy关注粉丝 │ │ │ └── Command.js │ ├── 文件 │ │ └── 读写data目录.js │ ├── README.md │ └── 坐标 │ │ └── 两点之间的坐标.js ├── sample │ ├── 协程 │ │ ├── 协程HelloWorld │ │ │ ├── hello.txt │ │ │ └── project.json │ │ ├── .DS_Store │ │ └── ui中使用协程 │ │ │ ├── project.json │ │ │ └── main.js │ ├── Shell命令 │ │ ├── 结束所有后台进程.js │ │ ├── 锁屏.js │ │ ├── 冻结网易云音乐.js │ │ └── 解冻并打开网易云音乐.js │ ├── 多线程 │ │ ├── 原子变量.js │ │ ├── 变量可见性实验.js │ │ ├── 线程启动与关闭.js │ │ ├── 多线程按键监听.js │ │ └── 多线程简单示例.js │ ├── 脚本引擎 │ │ ├── 停止所有正在运行的脚本.js │ │ ├── 运行新的脚本任务.js │ │ ├── 运行录制文件.js │ │ └── 运行脚本文件.js │ ├── 应用 │ │ ├── 打开应用.js │ │ ├── 强制停止应用.js │ │ ├── 卸载应用.js │ │ ├── 发送意图-文本消息分享.js │ │ └── 应用工具.js │ ├── .DS_Store │ ├── 安卓7.0+点按和手势 │ │ ├── 点击左上角.js │ │ ├── 拉出通知栏.js │ │ ├── 双指捏合.js │ │ ├── 三指捏合.js │ │ ├── 三指下滑.js │ │ └── 心形手势.js │ ├── JavaScript │ │ ├── HelloWorld.js │ │ └── 数字.js │ ├── 图片与图色处理 │ │ ├── 找图 │ │ │ ├── block.png │ │ │ ├── mario.png │ │ │ ├── super_mario.jpg │ │ │ ├── 找出马里奥.js │ │ │ ├── 找出所有问号方块.js │ │ │ └── 找出问号方块并画出位置.js │ │ ├── 截图并保存.js │ │ ├── 获取网络图片并保存.js │ │ ├── 实时显示触摸点颜色.js │ │ ├── 模糊找色.js │ │ ├── 找到QQ红点位置.js │ │ ├── 精确找色.js │ │ ├── 区域找色1.js │ │ ├── 区域找色2.js │ │ └── 颜色获取和检测.js │ ├── 对话框 │ │ ├── 单选框.js │ │ ├── 输入框.js │ │ ├── 确认框.js │ │ ├── 多选框.js │ │ ├── 菜单.js │ │ └── 简单计算器.js │ ├── 定时器 │ │ ├── 循环执行.js │ │ └── 定时执行.js │ ├── 控制台 │ │ ├── 保存日志.js │ │ ├── 调整控制台大小位置.js │ │ ├── 格式化输出.js │ │ ├── 终端模拟器.js │ │ ├── 控制台示例.js │ │ └── 产生随机数.js │ ├── 悬浮窗 │ │ ├── 护眼模式.js │ │ ├── 悬浮文字.js │ │ ├── 悬浮窗运行脚本按钮简单版.js │ │ ├── 悬浮窗输入框.js │ │ └── 动态悬浮文字.js │ ├── 文件读写 │ │ ├── 写入文本文件.js │ │ ├── 读取文本文件.js │ │ ├── 文件编码转换.js │ │ ├── 文件编码转换(高级).js │ │ ├── 删除所有空文件夹.js │ │ └── 读写文本文件.js │ ├── 事件与按键、触摸监听 │ │ ├── 触摸监听.js │ │ ├── Toast监听.js │ │ ├── 通知监听.js │ │ ├── 长按返回退出当前程序.js │ │ ├── 音量键控制程序.js │ │ └── 按键监听.js │ ├── HTTP网络请求 │ │ ├── 获取网页.js │ │ └── 文件下载.js │ ├── 本地存储 │ │ ├── 保存数组和复杂对象.js │ │ ├── 保存整数等简单数据.js │ │ └── 随手记.js │ ├── 界面控件 │ │ ├── 自定义控件-使用配置勾选框.js │ │ ├── 按钮控件.js │ │ ├── 时间日期选择控件.js │ │ ├── 复选框单选框控件.js │ │ └── 下拉菜单.js │ └── 设备与设备信息 │ │ ├── 获取设备信息.js │ │ └── 调整设备亮度.js ├── .DS_Store ├── other │ ├── 色卡.jpg │ ├── 脚本作者.png │ ├── 脚本作者New.png │ └── ranyongJS-logoWhite.png ├── 完善脚本 │ └── .DS_Store └── img │ ├── image-20210306153008566.png │ ├── image-20210308130921041.png │ ├── image-20210308131054481.png │ ├── image-20210308131151595.png │ ├── image-20210308131235144.png │ ├── image-20210308131348210.png │ ├── image-20210308131809570.png │ ├── image-20210308131854965.png │ ├── image-20210308131933190.png │ ├── image-20210308132019642.png │ └── image-20210308132212171.png ├── .DS_Store ├── RanyongJs └── .DS_Store ├── project.json ├── stopAll.js └── 查询控件.js /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store -------------------------------------------------------------------------------- /.vscode/autojs.code-snippets: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /乱七八糟/Demo/canvas/一直在跳的球255.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /乱七八糟/Demo/获取手机粘贴板.js: -------------------------------------------------------------------------------- 1 | log(getClip()) 2 | -------------------------------------------------------------------------------- /乱七八糟/Demo/pro商店的脚本/ui启动ui-1.0.0.1/ui.js: -------------------------------------------------------------------------------- 1 | "ui"; -------------------------------------------------------------------------------- /乱七八糟/sample/协程/协程HelloWorld/hello.txt: -------------------------------------------------------------------------------- 1 | Nothing -------------------------------------------------------------------------------- /乱七八糟/sample/Shell命令/结束所有后台进程.js: -------------------------------------------------------------------------------- 1 | shell("am kill-all", true); -------------------------------------------------------------------------------- /乱七八糟/sample/多线程/原子变量.js: -------------------------------------------------------------------------------- 1 | var i = threads.atomic(); 2 | -------------------------------------------------------------------------------- /乱七八糟/sample/脚本引擎/停止所有正在运行的脚本.js: -------------------------------------------------------------------------------- 1 | engines.stopAllAndToast(); -------------------------------------------------------------------------------- /乱七八糟/Demo/工具箱/脚本排队/1.js: -------------------------------------------------------------------------------- 1 | sleep(3000) 2 | log('我是 1 号脚本') 3 | -------------------------------------------------------------------------------- /乱七八糟/Demo/工具箱/脚本排队/3.js: -------------------------------------------------------------------------------- 1 | sleep(2000) 2 | log('我是 3 号脚本') 3 | -------------------------------------------------------------------------------- /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/.DS_Store -------------------------------------------------------------------------------- /乱七八糟/Demo/工具箱/脚本排队/2.js: -------------------------------------------------------------------------------- 1 | sleep(1000) 2 | 3 | log('我是 2 号脚本') 4 | -------------------------------------------------------------------------------- /乱七八糟/sample/Shell命令/锁屏.js: -------------------------------------------------------------------------------- 1 | KeyCode("KEYCODE_POWER"); 2 | //或者 KeyCode(26); -------------------------------------------------------------------------------- /乱七八糟/Demo/工具箱/脚本通信/broadcast通信/后发送.js: -------------------------------------------------------------------------------- 1 | events.broadcast.emit('hello','小明') 2 | -------------------------------------------------------------------------------- /乱七八糟/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/.DS_Store -------------------------------------------------------------------------------- /乱七八糟/Demo/工具箱/抓取logcat日志453.js: -------------------------------------------------------------------------------- 1 | new Shell().exec("logcat -f /sdcard/脚本/log.txt"); -------------------------------------------------------------------------------- /乱七八糟/Demo/电脑知识点/win7结束任务.txt: -------------------------------------------------------------------------------- 1 | tasklist 2 | 3 | Taskkill/im Pasteasy.exe /f 4 | -------------------------------------------------------------------------------- /乱七八糟/sample/Shell命令/冻结网易云音乐.js: -------------------------------------------------------------------------------- 1 | shell("pm disable com.netease.cloudmusic", true); -------------------------------------------------------------------------------- /乱七八糟/sample/应用/打开应用.js: -------------------------------------------------------------------------------- 1 | var appName = rawInput("请输入应用名称"); 2 | launchApp(appName); -------------------------------------------------------------------------------- /乱七八糟/other/色卡.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/other/色卡.jpg -------------------------------------------------------------------------------- /RanyongJs/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/RanyongJs/.DS_Store -------------------------------------------------------------------------------- /乱七八糟/Demo/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/Demo/.DS_Store -------------------------------------------------------------------------------- /乱七八糟/other/脚本作者.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/other/脚本作者.png -------------------------------------------------------------------------------- /乱七八糟/完善脚本/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/完善脚本/.DS_Store -------------------------------------------------------------------------------- /乱七八糟/Demo/UI/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/Demo/UI/.DS_Store -------------------------------------------------------------------------------- /乱七八糟/Demo/工具箱/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/Demo/工具箱/.DS_Store -------------------------------------------------------------------------------- /乱七八糟/Demo/悬浮窗/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/Demo/悬浮窗/.DS_Store -------------------------------------------------------------------------------- /乱七八糟/other/脚本作者New.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/other/脚本作者New.png -------------------------------------------------------------------------------- /乱七八糟/sample/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/sample/.DS_Store -------------------------------------------------------------------------------- /乱七八糟/Demo/UI/手勢模塊/44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/Demo/UI/手勢模塊/44.png -------------------------------------------------------------------------------- /乱七八糟/Demo/module.expo.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/Demo/module.expo.pdf -------------------------------------------------------------------------------- /乱七八糟/sample/协程/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/sample/协程/.DS_Store -------------------------------------------------------------------------------- /乱七八糟/Demo/pro商店的脚本/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/Demo/pro商店的脚本/.DS_Store -------------------------------------------------------------------------------- /乱七八糟/Demo/工具箱/二维码/二维码识别.dex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/Demo/工具箱/二维码/二维码识别.dex -------------------------------------------------------------------------------- /乱七八糟/Demo/工具箱/脚本通信/脚本结束事件.js: -------------------------------------------------------------------------------- 1 | events.on('exit', function () { 2 | log('我运行完了') 3 | }) 4 | log(1) 5 | -------------------------------------------------------------------------------- /乱七八糟/sample/Shell命令/解冻并打开网易云音乐.js: -------------------------------------------------------------------------------- 1 | shell("pm enable com.netease.cloudmusic", true); 2 | launchApp("网易云音乐"); -------------------------------------------------------------------------------- /乱七八糟/sample/安卓7.0+点按和手势/点击左上角.js: -------------------------------------------------------------------------------- 1 | "auto"; 2 | 3 | setScreenMetrics(1080, 1920); 4 | 5 | click(100, 150); -------------------------------------------------------------------------------- /乱七八糟/Demo/111111111柴房/yeah.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/Demo/111111111柴房/yeah.png -------------------------------------------------------------------------------- /乱七八糟/Demo/工具箱/脚本排队第二种/2.js: -------------------------------------------------------------------------------- 1 | for(var i=0;i<3;i++){ 2 | toastLog('this is 2.js '+ i) 3 | sleep(1000) 4 | } -------------------------------------------------------------------------------- /乱七八糟/Demo/工具箱/脚本排队第二种/3.js: -------------------------------------------------------------------------------- 1 | for(var i=0;i<3;i++){ 2 | toastLog('this is 3.js '+ i) 3 | sleep(1000) 4 | } -------------------------------------------------------------------------------- /乱七八糟/sample/JavaScript/HelloWorld.js: -------------------------------------------------------------------------------- 1 | log("Hello world!!!"); 2 | toast("Hello, AutoJs!"); 3 | console.show(); -------------------------------------------------------------------------------- /乱七八糟/Demo/111111111柴房/微信赞赏码.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/Demo/111111111柴房/微信赞赏码.png -------------------------------------------------------------------------------- /乱七八糟/Demo/111111111柴房/支付宝收款码.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/Demo/111111111柴房/支付宝收款码.jpg -------------------------------------------------------------------------------- /乱七八糟/Demo/UI/在别的脚本中获取ui的控件属性/获取ui模块中按钮的文本.js: -------------------------------------------------------------------------------- 1 | "ui"; 2 | var ui的引用=require('./ui模块.js') 3 | log(ui的引用.text()) 4 | -------------------------------------------------------------------------------- /乱七八糟/sample/图片与图色处理/找图/block.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/sample/图片与图色处理/找图/block.png -------------------------------------------------------------------------------- /乱七八糟/sample/图片与图色处理/找图/mario.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/sample/图片与图色处理/找图/mario.png -------------------------------------------------------------------------------- /乱七八糟/Demo/小游戏/坦克大战游戏/audio/move.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/Demo/小游戏/坦克大战游戏/audio/move.mp3 -------------------------------------------------------------------------------- /乱七八糟/Demo/小游戏/坦克大战游戏/audio/prop.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/Demo/小游戏/坦克大战游戏/audio/prop.mp3 -------------------------------------------------------------------------------- /乱七八糟/Demo/白酒煮饭/[Http代理] 讯代理_优质代理.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/Demo/白酒煮饭/[Http代理] 讯代理_优质代理.js -------------------------------------------------------------------------------- /乱七八糟/other/ranyongJS-logoWhite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/other/ranyongJS-logoWhite.png -------------------------------------------------------------------------------- /乱七八糟/Demo/http/[Http代理] 讯代理_优质代理425.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/Demo/http/[Http代理] 讯代理_优质代理425.js -------------------------------------------------------------------------------- /乱七八糟/Demo/动画/surface(简单精灵动画)/1122.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/Demo/动画/surface(简单精灵动画)/1122.png -------------------------------------------------------------------------------- /乱七八糟/Demo/小游戏/坦克大战游戏/audio/attack.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/Demo/小游戏/坦克大战游戏/audio/attack.mp3 -------------------------------------------------------------------------------- /乱七八糟/Demo/小游戏/坦克大战游戏/audio/start.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/Demo/小游戏/坦克大战游戏/audio/start.mp3 -------------------------------------------------------------------------------- /乱七八糟/Demo/小游戏/坦克大战游戏/images/menu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/Demo/小游戏/坦克大战游戏/images/menu.gif -------------------------------------------------------------------------------- /乱七八糟/img/image-20210306153008566.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/img/image-20210306153008566.png -------------------------------------------------------------------------------- /乱七八糟/img/image-20210308130921041.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/img/image-20210308130921041.png -------------------------------------------------------------------------------- /乱七八糟/img/image-20210308131054481.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/img/image-20210308131054481.png -------------------------------------------------------------------------------- /乱七八糟/img/image-20210308131151595.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/img/image-20210308131151595.png -------------------------------------------------------------------------------- /乱七八糟/img/image-20210308131235144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/img/image-20210308131235144.png -------------------------------------------------------------------------------- /乱七八糟/img/image-20210308131348210.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/img/image-20210308131348210.png -------------------------------------------------------------------------------- /乱七八糟/img/image-20210308131809570.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/img/image-20210308131809570.png -------------------------------------------------------------------------------- /乱七八糟/img/image-20210308131854965.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/img/image-20210308131854965.png -------------------------------------------------------------------------------- /乱七八糟/img/image-20210308131933190.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/img/image-20210308131933190.png -------------------------------------------------------------------------------- /乱七八糟/img/image-20210308132019642.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/img/image-20210308132019642.png -------------------------------------------------------------------------------- /乱七八糟/img/image-20210308132212171.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/img/image-20210308132212171.png -------------------------------------------------------------------------------- /乱七八糟/sample/图片与图色处理/找图/super_mario.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/sample/图片与图色处理/找图/super_mario.jpg -------------------------------------------------------------------------------- /乱七八糟/sample/安卓7.0+点按和手势/拉出通知栏.js: -------------------------------------------------------------------------------- 1 | "auto"; 2 | 3 | //表示从位置(500, 10)滑动到位置(500, 1000), 持续两秒 4 | swipe(500, 10, 500, 1000, 2000); -------------------------------------------------------------------------------- /乱七八糟/Demo/小游戏/坦克大战游戏/audio/tankCrack.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/Demo/小游戏/坦克大战游戏/audio/tankCrack.mp3 -------------------------------------------------------------------------------- /乱七八糟/Demo/小游戏/坦克大战游戏/images/tankAll.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/Demo/小游戏/坦克大战游戏/images/tankAll.gif -------------------------------------------------------------------------------- /乱七八糟/Demo/intent/淘宝 内打开网页389.js: -------------------------------------------------------------------------------- 1 | app.startActivity({ 2 | action: "android.intent.action.VIEW", 3 | data: "taobao://hitow.net" 4 | }); -------------------------------------------------------------------------------- /乱七八糟/Demo/小游戏/坦克大战游戏/audio/bulletCrack.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/Demo/小游戏/坦克大战游戏/audio/bulletCrack.mp3 -------------------------------------------------------------------------------- /乱七八糟/Demo/小游戏/坦克大战游戏/audio/playerCrack.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/Demo/小游戏/坦克大战游戏/audio/playerCrack.mp3 -------------------------------------------------------------------------------- /乱七八糟/sample/对话框/单选框.js: -------------------------------------------------------------------------------- 1 | var sex = dialogs.singleChoice("请选择性别", ["男", "女", "基佬", "女装", "其他"], 2); 2 | toast("选择了第" + (sex + 1) + "个选项"); -------------------------------------------------------------------------------- /乱七八糟/Demo/UI/一开始不要显示输入法.js: -------------------------------------------------------------------------------- 1 | activity.getWindow().setSoftInputMode(android.view.WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); 2 | -------------------------------------------------------------------------------- /乱七八糟/Demo/intent/打开vpn.js: -------------------------------------------------------------------------------- 1 | var intent=new Intent() 2 | intent.setAction("android.settings.VPN_SETTINGS") 3 | app.startActivity(intent) 4 | -------------------------------------------------------------------------------- /乱七八糟/Demo/pro商店的脚本/二维码自定义生成-1.0.0.1/res/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/Demo/pro商店的脚本/二维码自定义生成-1.0.0.1/res/logo.png -------------------------------------------------------------------------------- /乱七八糟/Demo/pro商店的脚本/亲戚关系计算器-1.0.0.1/res/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/Demo/pro商店的脚本/亲戚关系计算器-1.0.0.1/res/logo.png -------------------------------------------------------------------------------- /乱七八糟/Demo/pro商店的脚本/悬浮教程文档-1.0.0.1/res/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/Demo/pro商店的脚本/悬浮教程文档-1.0.0.1/res/logo.png -------------------------------------------------------------------------------- /乱七八糟/Demo/工具箱/脚本通信/engines通信/2.js: -------------------------------------------------------------------------------- 1 | var args=engines.myEngine().execArgv; 2 | log('2号脚本打印开始') 3 | log(args) 4 | log(args.大明星) 5 | log('2号脚本打印结束') 6 | -------------------------------------------------------------------------------- /乱七八糟/sample/JavaScript/数字.js: -------------------------------------------------------------------------------- 1 | a = 5; 2 | b = 6; 3 | c = -1; 4 | x = 1.5; 5 | y = a * x * x + b * x * c; 6 | log("y = " + y); 7 | openConsole(); 8 | -------------------------------------------------------------------------------- /乱七八糟/sample/应用/强制停止应用.js: -------------------------------------------------------------------------------- 1 | "auto"; 2 | 3 | var appName = rawInput("请输入应用名称"); 4 | openAppSetting(getPackageName(appName)); 5 | while(!click("强制停止")); -------------------------------------------------------------------------------- /乱七八糟/Demo/intent/打开飞行模式设置界面.js: -------------------------------------------------------------------------------- 1 | var intent=new Intent() 2 | intent.setAction("android.settings.AIRPLANE_MODE_SETTINGS") 3 | app.startActivity(intent) 4 | -------------------------------------------------------------------------------- /乱七八糟/Demo/工具箱/脚本通信/broadcast通信/先监听.js: -------------------------------------------------------------------------------- 1 | 2 | events.broadcast.on('hello',function(name){ 3 | toastLog('你好'+name) 4 | }) 5 | setInterval(()=>{},3000) 6 | -------------------------------------------------------------------------------- /乱七八糟/Demo/工具箱/数组填充.js: -------------------------------------------------------------------------------- 1 | let n = 1024 * 1024; 2 | let arr = java.lang.reflect.Array.newInstance(java.lang.Byte.TYPE, n); 3 | java.util.Arrays.fill(arr, 50); 4 | -------------------------------------------------------------------------------- /乱七八糟/Demo/工具箱/脚本引擎实现顺序执行/脚本1.js: -------------------------------------------------------------------------------- 1 | for(var i=0;i<6;i++){ 2 | log("这里是脚本1 loop"+i); 3 | sleep(200); 4 | } 5 | mainEngine.emit("control",index); 6 | 7 | 8 | -------------------------------------------------------------------------------- /乱七八糟/Demo/工具箱/脚本引擎实现顺序执行/脚本2.js: -------------------------------------------------------------------------------- 1 | for(var i=0;i<6;i++){ 2 | log("这里是脚本2 loop"+i); 3 | sleep(200); 4 | } 5 | mainEngine.emit("control",index); 6 | 7 | 8 | -------------------------------------------------------------------------------- /乱七八糟/Demo/工具箱/脚本引擎实现顺序执行/脚本3.js: -------------------------------------------------------------------------------- 1 | for(var i=0;i<6;i++){ 2 | log("这里是脚本3 loop"+i); 3 | sleep(200); 4 | } 5 | mainEngine.emit("control",index); 6 | 7 | 8 | -------------------------------------------------------------------------------- /乱七八糟/Demo/intent/打开无障碍设置界面.js: -------------------------------------------------------------------------------- 1 | var intent = new Intent(); 2 | intent.setAction("android.settings.ACCESSIBILITY_SETTINGS"); //打开无障碍设置界面 3 | app.startActivity(intent); 4 | -------------------------------------------------------------------------------- /乱七八糟/Demo/工具箱/脚本通信/engines通信/1.js: -------------------------------------------------------------------------------- 1 | // 这是启动方式为脚本引擎的通信方式 2 | var 大明星='周杰伦' 3 | engines.execScriptFile('./2.js',{ 4 | arguments:{ 5 | 大明星:大明星 6 | } 7 | }) 8 | -------------------------------------------------------------------------------- /乱七八糟/Demo/微信/root打开朋友圈.js: -------------------------------------------------------------------------------- 1 | //要root才能打开朋友圈 2 | var activity = "com.tencent.mm/com.tencent.mm.plugin.sns.ui.SnsTimeLineUI" 3 | shell("am start -n " + activity, true); 4 | -------------------------------------------------------------------------------- /乱七八糟/Demo/白酒煮饭/刷会撩更会聊QQ勋章.js: -------------------------------------------------------------------------------- 1 | auto(""); 2 | toast("请打开一个聊天窗口"); 3 | for(var i = 1; i <= 6666; i++){ 4 | setText("运气王 发"); 5 | click("发送"); 6 | sleep(100); } -------------------------------------------------------------------------------- /乱七八糟/sample/对话框/输入框.js: -------------------------------------------------------------------------------- 1 | var name = rawInput("请输入名字"); 2 | alert("(•́へ•́╬)", "你好~ " + name); 3 | var expr = dialogs.input("请输入简单的算式", "1+1"); 4 | alert("计算结果为 " + expr); -------------------------------------------------------------------------------- /乱七八糟/Demo/pro商店的脚本/一般常用函数模块-1.0.15.1015/lib/RootTools-3.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/Demo/pro商店的脚本/一般常用函数模块-1.0.15.1015/lib/RootTools-3.4.jar -------------------------------------------------------------------------------- /乱七八糟/Demo/pro商店的脚本/更新UI悬浮窗样例-1.0.0.1/res/img/download_bg-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RanY-Luck/AutoJS/HEAD/乱七八糟/Demo/pro商店的脚本/更新UI悬浮窗样例-1.0.0.1/res/img/download_bg-1.png -------------------------------------------------------------------------------- /乱七八糟/Demo/白酒煮饭/使用命令删除图片后,更新图库缓存.js: -------------------------------------------------------------------------------- 1 | var f = '/sdcard/img/1.png'; 2 | app.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,android.net.Uri.fromFile(java.io.File(f)))); -------------------------------------------------------------------------------- /乱七八糟/sample/图片与图色处理/截图并保存.js: -------------------------------------------------------------------------------- 1 | if(!requestScreenCapture()){ 2 | toast("请求截图失败"); 3 | exit(); 4 | } 5 | var img = captureScreen(); 6 | images.saveImage(img, "/sdcard/1.png"); -------------------------------------------------------------------------------- /乱七八糟/Demo/工具箱/脚本通信/ScriptEngine_emit通信/1.js: -------------------------------------------------------------------------------- 1 | //运行脚本 2 | var e = engines.execScriptFile("./2.js"); 3 | //等待脚本启动 4 | sleep(2000); 5 | //向该脚本发送事件 6 | e.getEngine().emit("say", "你好"); 7 | -------------------------------------------------------------------------------- /乱七八糟/Demo/手机/横竖屏.js: -------------------------------------------------------------------------------- 1 | //1竖屏 2横屏 2 | 3 | function getScreenDirection() { 4 | importPackage(android.content); 5 | return context.getResources().getConfiguration().orientation; 6 | } -------------------------------------------------------------------------------- /乱七八糟/Demo/加密/md5.js: -------------------------------------------------------------------------------- 1 | function md5(string) { 2 | return java.math.BigInteger(1,java.security.MessageDigest.getInstance("MD5") 3 | .digest(java.lang.String(string).getBytes())).toString(16); 4 | } -------------------------------------------------------------------------------- /乱七八糟/sample/定时器/循环执行.js: -------------------------------------------------------------------------------- 1 | var i = 0; 2 | 3 | setInterval(function(){ 4 | i++; 5 | toast(i * 4 + "秒"); 6 | if(i == 5){ 7 | exit(); 8 | } 9 | }, 4000); 10 | 11 | -------------------------------------------------------------------------------- /乱七八糟/sample/控制台/保存日志.js: -------------------------------------------------------------------------------- 1 | console.setGlobalLogConfig({ 2 | file: "/sdcard/log.txt" 3 | }); 4 | console.log(1); 5 | console.log(2); 6 | console.error(3); 7 | app.viewFile("/sdcard/log.txt"); 8 | -------------------------------------------------------------------------------- /乱七八糟/Demo/UI/在别的脚本中获取ui的控件属性/ui模块.js: -------------------------------------------------------------------------------- 1 | "ui"; 2 | ui.layout( 3 | 4 | 5 | 6 | ) 7 | module.exports=ui.myButton 8 | -------------------------------------------------------------------------------- /乱七八糟/Demo/工具箱/一个字一个字输入: -------------------------------------------------------------------------------- 1 | var str='你好 这是一段测试代码' 2 | var strArray=str.split("") 3 | for(var i=0;i{}, 1000); 9 | -------------------------------------------------------------------------------- /乱七八糟/sample/控制台/调整控制台大小位置.js: -------------------------------------------------------------------------------- 1 | console.show(); 2 | console.log("调整大小..."); 3 | console.setSize(1000, 1000); 4 | sleep(2000); 5 | console.log("调整位置..."); 6 | console.setPosition(0, 500); 7 | sleep(2000); 8 | console.hide(); 9 | -------------------------------------------------------------------------------- /乱七八糟/sample/悬浮窗/护眼模式.js: -------------------------------------------------------------------------------- 1 | var w = floaty.rawWindow( 2 | 3 | ); 4 | 5 | w.setSize(-1, -1); 6 | w.setTouchable(false); 7 | 8 | setTimeout(()=>{ 9 | w.close(); 10 | }, 60000); -------------------------------------------------------------------------------- /乱七八糟/sample/安卓7.0+点按和手势/双指捏合.js: -------------------------------------------------------------------------------- 1 | "auto"; 2 | 3 | setScreenMetrics(1080, 1920); 4 | 5 | //如果你使用的是MIUI,此脚本运行后会出现桌面编辑 6 | home(); 7 | sleep(1500); 8 | gestures([500, [800, 300], [500, 1000]], 9 | [500, [300, 1500], [500, 1000]]); -------------------------------------------------------------------------------- /乱七八糟/sample/文件读写/写入文本文件.js: -------------------------------------------------------------------------------- 1 | //文件路径 2 | var path = "/sdcard/1.txt"; 3 | //要写入的文件内容 4 | var text = "Hello, AutoJs"; 5 | //以写入模式打开文件 6 | var file = open(path, "w"); 7 | //写入文件 8 | file.write(text); 9 | //关闭文件 10 | file.close(); -------------------------------------------------------------------------------- /乱七八糟/sample/事件与按键、触摸监听/触摸监听.js: -------------------------------------------------------------------------------- 1 | 2 | events.observeTouch(); 3 | 4 | events.setTouchEventTimeout(30); 5 | 6 | toast("请在日志中查看触摸的点的坐标"); 7 | 8 | events.on("touch", function(point){ 9 | log(point); 10 | }); 11 | 12 | loop(); -------------------------------------------------------------------------------- /乱七八糟/sample/图片与图色处理/获取网络图片并保存.js: -------------------------------------------------------------------------------- 1 | //这个是Auto.js图标的地址 2 | var url = "https://www.autojs.org/assets/uploads/profile/3-profileavatar.png"; 3 | var logo = images.load(url); 4 | //保存到路径/sdcard/auto.js.png 5 | images.save(logo, "/sdcard/auto.js.png"); -------------------------------------------------------------------------------- /乱七八糟/sample/文件读写/读取文本文件.js: -------------------------------------------------------------------------------- 1 | //文件路径 2 | var path = "/sdcard/1.txt"; 3 | //打开文件 4 | var file = open(path); 5 | //读取文件的所有内容 6 | var text = file.read(); 7 | //打印到控制台 8 | print(text); 9 | //关闭文件 10 | file.close(); 11 | console.show(); -------------------------------------------------------------------------------- /project.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ranyongjs", 3 | "main": "main.js", 4 | "ignore": [ 5 | "build" 6 | ], 7 | "packageName": "com.ranyong.ranyongjs", 8 | "versionName": "1.0.1", 9 | "versionCode": 1 10 | } -------------------------------------------------------------------------------- /乱七八糟/Demo/app操作/禁止联网133.js: -------------------------------------------------------------------------------- 1 | 2 | uid=`cat /data/system/packages.list | grep com.sohu.inputmethod.sogou | busybox awk '{print $2}'` 3 | iptables -t filter -A OUTPUT -m owner --uid-owner=$uid -j DROP 4 | 5 | 以上是android iptables 屏蔽某个app网络访问的内容, 6 | -------------------------------------------------------------------------------- /乱七八糟/Demo/intent/启动脚本data.js: -------------------------------------------------------------------------------- 1 | app.startActivity({ 2 | packageName : "org.autojs.autojs", 3 | className : "org.autojs.autojs.external.open.RunIntentActivity", 4 | data : "/sdcard/脚本/2.js", 5 | type : "application/x-javascript" 6 | }); 7 | -------------------------------------------------------------------------------- /乱七八糟/Demo/悬浮窗/悬浮窗单位px.js: -------------------------------------------------------------------------------- 1 | 'ui'; 2 | ui.layout( 3 | 4 | 5 | 6 | ) 7 | 8 | 9 | log(context.getResources().getDisplayMetrics().density) 10 | -------------------------------------------------------------------------------- /乱七八糟/Demo/白酒煮饭/自动连接电脑vscode.js: -------------------------------------------------------------------------------- 1 | app.startActivity({ 2 | packageName : "org.autojs.autojs", 3 | className : "org.autojs.autojs.external.open.RunIntentActivity", 4 | data : "/sdcard/脚本/翻译.js", 5 | type : "application/x-javascript" 6 | }); -------------------------------------------------------------------------------- /乱七八糟/sample/图片与图色处理/找图/找出马里奥.js: -------------------------------------------------------------------------------- 1 | 2 | var superMario = images.read("./super_mario.jpg"); 3 | var mario = images.read("./mario.png"); 4 | var point = findImage(superMario, mario); 5 | toastLog(point); 6 | 7 | superMario.recycle(); 8 | mario.recycle(); -------------------------------------------------------------------------------- /乱七八糟/sample/脚本引擎/运行新的脚本任务.js: -------------------------------------------------------------------------------- 1 | var script = "toast('Hello, Auto.js');" + 2 | "sleep(3000);" + 3 | "toast('略略略');"; 4 | var execution = engines.execScript("Hello", script); 5 | sleep(1000); 6 | execution.getEngine().forceStop(); -------------------------------------------------------------------------------- /乱七八糟/sample/HTTP网络请求/获取网页.js: -------------------------------------------------------------------------------- 1 | var url = "www.baidu.com"; 2 | var res = http.get(url); 3 | if(res.statusCode == 200){ 4 | toast("请求成功"); 5 | console.show(); 6 | log(res.body.string()); 7 | }else{ 8 | toast("请求失败:" + res.statusMessage); 9 | } -------------------------------------------------------------------------------- /乱七八糟/sample/控制台/格式化输出.js: -------------------------------------------------------------------------------- 1 | console.show(); 2 | 3 | var i = { 4 | name: "小明", 5 | age: 18, 6 | height: 1.72 7 | }; 8 | 9 | console.log("大家好, 我叫%s, 今年%d岁, 身高%d米", i.name, i.age, i.height); 10 | console.log("实际上我是一个对象啦,长这样子: %j", i); -------------------------------------------------------------------------------- /乱七八糟/Demo/intent/启动脚本autojsProIntent.js: -------------------------------------------------------------------------------- 1 | app.startActivity({ 2 | packageName : "org.autojs.autojspro", 3 | className : "org.autojs.autojs.external.open.RunIntentActivity", 4 | data : "/sdcard/脚本/2.js", 5 | type : "application/x-javascript" 6 | }); 7 | -------------------------------------------------------------------------------- /乱七八糟/Demo/白酒煮饭/自动加QQ好友.js: -------------------------------------------------------------------------------- 1 | path="/storage/emulated/0/脚本/qq号.txt"; 2 | file = open(path, "r") 3 | for(i0=0;i0 3 | 4 | 5 | ); 6 | 7 | w.setTouchable(false); 8 | 9 | setTimeout(()=>{ 10 | w.close(); 11 | }, 360000); 12 | //720*1280分辨率显示正常 -------------------------------------------------------------------------------- /乱七八糟/Demo/白酒煮饭/全局半透明背景.js: -------------------------------------------------------------------------------- 1 | var w = floaty.rawWindow( 2 | 3 | 4 | 5 | ); 6 | 7 | w.setTouchable(false); 8 | 9 | setTimeout(()=>{ 10 | w.close(); 11 | }, 360000); 12 | //720*1280分辨率显示正常 -------------------------------------------------------------------------------- /乱七八糟/sample/定时器/定时执行.js: -------------------------------------------------------------------------------- 1 | toast("静等20秒,你会看到想看的..."); 2 | 3 | var i = 0; 4 | 5 | setTimeout(function(){ 6 | app.openUrl("http://music.163.com/#/song?id=109628&autoplay=true&market=baiduhd"); 7 | exit(); 8 | }, 20 * 1000); 9 | 10 | setInterval(function(){ 11 | i++; 12 | toast(i * 5 + "秒"); 13 | }, 5000); 14 | 15 | -------------------------------------------------------------------------------- /乱七八糟/Demo/UI/图片圆角.js: -------------------------------------------------------------------------------- 1 | w=floaty.window( 2 | 3 | ) 4 | w.图片.click(function () { 5 | w.图片.attr("w", "100"); //图片显示不正常 6 | w.图片.attr("cornerRadius", "30"); //没反应 7 | w.图片.invalidate() 8 | }); 9 | setInterval( 10 | () => {}, 1000 11 | ) 12 | -------------------------------------------------------------------------------- /乱七八糟/Demo/app操作/获取指定应用的版本号.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 获取指定应用的版本号 3 | * @param {string} packageName 应用包名 4 | */ 5 | function getPackageVersion(packageName) { 6 | importPackage(android.content); 7 | var pckMan = context.getPackageManager(); 8 | var packageInfo = pckMan.getPackageInfo(packageName, 0); 9 | return packageInfo.versionName; 10 | } 11 | -------------------------------------------------------------------------------- /乱七八糟/Demo/白酒煮饭/搜狗图床.js: -------------------------------------------------------------------------------- 1 | function 上传图片(path){ 2 | var url="http://pic.sogou.com/pic/upload_pic.jsp"; 3 | var res=http.postMultipart(url,{ 4 | "file": open(path), 5 | }); 6 | var t=res.body.string(); 7 | return t; 8 | } 9 | path="/storage/emulated/0/BDY_DOWNLOAD/1.驱动&程序_69ac5/1.驱动&程序/122U操作图解说明/1操作说明(第一页).jpg"; 10 | log(上传图片(path)); 11 | 12 | -------------------------------------------------------------------------------- /乱七八糟/sample/悬浮窗/悬浮文字.js: -------------------------------------------------------------------------------- 1 | var window = floaty.window( 2 | 3 | 4 | 5 | ); 6 | 7 | window.exitOnClose(); 8 | 9 | window.text.click(()=>{ 10 | window.setAdjustEnabled(!window.isAdjustEnabled()); 11 | }); 12 | 13 | setInterval(()=>{}, 1000); -------------------------------------------------------------------------------- /乱七八糟/Demo/手机/查看wifi状态.js: -------------------------------------------------------------------------------- 1 | importPackage(android.content); 2 | let wifiManager = context.getSystemService(Context.WIFI_SERVICE); 3 | getCurrentWifiStateState(wifiManager) 4 | function getCurrentWifiStateState(wifiManager) { 5 | if (wifiManager.isWifiEnabled()){ 6 | alert('打开状态') 7 | }else{ 8 | alert('关闭状态') 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /乱七八糟/Demo/手机/播放系统提示音.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | playRingtone(); 4 | 5 | function playRingtone() { 6 | let Uri = android.net.Uri; 7 | let RingtoneManager = android.media.RingtoneManager; 8 | let uri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); 9 | let rt = RingtoneManager.getRingtone(context, uri); 10 | rt.play(); 11 | } -------------------------------------------------------------------------------- /乱七八糟/Demo/白酒煮饭/查看wifi状态.js: -------------------------------------------------------------------------------- 1 | importPackage(android.content); 2 | let wifiManager = context.getSystemService(Context.WIFI_SERVICE); 3 | getCurrentWifiStateState(wifiManager) 4 | function getCurrentWifiStateState(wifiManager) { 5 | if (wifiManager.isWifiEnabled()){ 6 | alert('打开状态') 7 | }else{ 8 | alert('关闭状态') 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /乱七八糟/sample/安卓7.0+点按和手势/三指下滑.js: -------------------------------------------------------------------------------- 1 | "auto"; 2 | 3 | /** 4 | * 同时模拟三个手势: 5 | * 从(300, 400)到(300, 1400) 6 | * 从(600, 400)到(600, 1400) 7 | * 从(900, 400)到(900, 1400) 8 | * 每一个的时长都为350毫秒 9 | */ 10 | 11 | gestures([350, [300, 400], [300, 1400]], 12 | [350, [600, 400], [600, 1400]], 13 | [350, [900, 400], [900, 1400]] 14 | ); 15 | -------------------------------------------------------------------------------- /乱七八糟/sample/应用/发送意图-文本消息分享.js: -------------------------------------------------------------------------------- 1 | var content = rawInput('请输入要分享的文本'); 2 | app.startActivity({ 3 | action: "android.intent.action.SEND", 4 | type: "text/*", 5 | extras: { 6 | "android.intent.extra.TEXT": content 7 | }, 8 | packageName: "com.tencent.mobileqq", 9 | className: "com.tencent.mobileqq.activity.JumpActivity" 10 | }); -------------------------------------------------------------------------------- /乱七八糟/Demo/手机/获取手机桌面壁纸.js: -------------------------------------------------------------------------------- 1 | "ui"; 2 | importClass(android.app.WallpaperManager) 3 | 4 | ui.layout( 5 | 6 | 7 | 8 | ); 9 | 10 | var Manager = WallpaperManager.getInstance(context); 11 | var Q = Manager.getDrawable(); 12 | ui.run(() => { 13 | ui.img.setImageBitmap(Q.bitmap); 14 | }); 15 | -------------------------------------------------------------------------------- /乱七八糟/Demo/手机/高级输入法.js: -------------------------------------------------------------------------------- 1 | var window = floaty.window( 2 | 3 | ); 4 | 5 | for (var i = 0; i < 50; i++) { 6 | ui.run(() => { 7 | imm = window.text.getContext().getSystemService(context.INPUT_METHOD_SERVICE); 8 | imm.toggleSoftInput(0, android.view.inputmethod.InputMethodManager.SHOW_FORCED); 9 | }); 10 | sleep(100); 11 | }; 12 | -------------------------------------------------------------------------------- /乱七八糟/Demo/数组/随机打乱数组顺序329.js: -------------------------------------------------------------------------------- 1 | let arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]; 2 | console.log(shuffle(arr)); 3 | 4 | function shuffle(arr) { 5 | let i = arr.length; 6 | while (i) { 7 | let j = Math.floor(Math.random() * i--); 8 | [arr[j], arr[i]] = [arr[i], arr[j]]; 9 | } 10 | return arr; 11 | } 12 | 13 | -------------------------------------------------------------------------------- /乱七八糟/Demo/白酒煮饭/改变字体颜色.js: -------------------------------------------------------------------------------- 1 | "ui"; 2 | ui.layout( 3 | 4 | 5 | 5 | 6 | 7 | 8 | 9 | ) 10 | 11 | -------------------------------------------------------------------------------- /乱七八糟/Demo/pro商店的脚本/文件选择对话框-1.0.1.2/main.js: -------------------------------------------------------------------------------- 1 | let FileChooserDialog = require("./file_chooser_dialog"); 2 | FileChooserDialog.build({ 3 | title: '请选择目标文件', 4 | // 初始文件夹路径 5 | dir: "/sdcard/脚本", 6 | // 可选择的类型,file为文件,dir为文件夹 7 | canChoose: ["file"], 8 | // 选择文件后的回调 9 | fileCallback: (file) => { 10 | toast(file); 11 | } 12 | }) 13 | .show(); -------------------------------------------------------------------------------- /乱七八糟/sample/图片与图色处理/找到QQ红点位置.js: -------------------------------------------------------------------------------- 1 | if(!requestScreenCapture()){ 2 | toast("请求截图失败"); 3 | exit(); 4 | } 5 | launchApp("QQ"); 6 | sleep(2000); 7 | var img = captureScreen(); 8 | toastLog("开始找色"); 9 | var point = findColor(img, "#f64d30"); 10 | if(point){ 11 | toastLog("x = " + point.x + ", y = " + point.y); 12 | }else{ 13 | toastLog("没有找到"); 14 | } 15 | 16 | 17 | -------------------------------------------------------------------------------- /乱七八糟/Demo/手机/调整屏幕亮度.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 作者: ProjectXero 3 | * 功能: 调整屏幕亮度 4 | * 备注: screenBrightness=0 0最暗 1最亮 5 | */ 6 | 7 | var w = floaty.rawWindow( 8 | 9 | ); 10 | w.setSize(-1, -1); 11 | w.setTouchable(false); 12 | log(w.main.getRootView().getLayoutParams().screenBrightness=0); 13 | setTimeout(()=>{ w.close(); }, 4000); 14 | -------------------------------------------------------------------------------- /乱七八糟/Demo/UI/webViewClient的用法.js: -------------------------------------------------------------------------------- 1 | "ui"; 2 | ui.layout( 3 | 4 | 5 | 6 | ) 7 | var client = android.webkit.WebViewClient; 8 | var t = new JavaAdapter(client, { 9 | onPageFinished: function (view, url) { 10 | toast("哈哈") 11 | } 12 | }) 13 | ui.web.setWebViewClient(t); 14 | ui.web.loadUrl("https://baidu.com") 15 | toastLog(typeof (t)); 16 | -------------------------------------------------------------------------------- /乱七八糟/Demo/UI/显示网页.js: -------------------------------------------------------------------------------- 1 | "ui"; 2 | 3 | ui.layout( 4 | 5 | 6 | 7 | 在界面加载一个网页 8 | 9 | 10 | 11 | 12 | ) 13 | 14 | ui.webview.loadUrl("http://baidu.com/"); 15 | -------------------------------------------------------------------------------- /乱七八糟/Demo/工具箱/shell开关飞行模式135.js: -------------------------------------------------------------------------------- 1 | 2 | function 打开飞行模式() { 3 | // 打开飞行模式 4 | new Shell().exec("su -c 'settings put global airplane_mode_on 1; am broadcast -a android.intent.action.AIRPLANE_MODE --ez state true'") 5 | } 6 | 7 | function 关闭飞行模式() { 8 | //关闭飞行模式 9 | new Shell().exec("su -c 'settings put global airplane_mode_on 0; am broadcast -a android.intent.action.AIRPLANE_MODE --ez state false'") 10 | } -------------------------------------------------------------------------------- /乱七八糟/sample/图片与图色处理/精确找色.js: -------------------------------------------------------------------------------- 1 | if(!requestScreenCapture()){ 2 | toast("请求截图失败"); 3 | stop(); 4 | } 5 | var img = captureScreen(); 6 | toastLog("开始找色"); 7 | //0x1d75b3为编辑器默认主题蓝色字体(if, var等关键字)的颜色 8 | //找到颜色与0x1d75b3完全相等的颜色 9 | var point = findColorEquals(img, 0x006699); 10 | if(point){ 11 | toastLog("x = " + point.x + ", y = " + point.y); 12 | }else{ 13 | toastLog("没有找到"); 14 | } 15 | 16 | 17 | -------------------------------------------------------------------------------- /乱七八糟/Demo/手机/callPhone.js: -------------------------------------------------------------------------------- 1 | // 加入下面的权限才能打电话或者pro版的Auto.js;网上的不论是java的代码还是shell的代码能直接打电话的只有它最好。 2 | // 3 | app.startActivity({ 4 | action:"CALL", 5 | data: "tel:10010" 6 | }); 7 | 8 | 9 | /*var intent1=app.intent({ 10 | action:"intent.ACTION_CALL", 11 | data: "tel:10010" 12 | }) 13 |             app.startActivity(intent1); 14 | 15 | */ 16 | -------------------------------------------------------------------------------- /乱七八糟/Demo/UI/UI和悬浮窗一起使用的完整栗子/window在屏幕之内.js: -------------------------------------------------------------------------------- 1 | function window在屏幕之内(window){ 2 | var x=window.getX() 3 | var y=window.getY() 4 | var w=window.getWidth() 5 | var h=window.getHeight() 6 | var centerX=x+w/2 7 | var centerY=y+h/2 8 | if(centerX>0 && centerX0 && centerY 4 | 这是第一个界面,点击切换到第二个界面 5 | 6 | ) 7 | function 第二个界面(){ 8 | ui.layout( 9 | 10 | 这是第二个界面,点击退出 11 | 12 | ) 13 | ui.t1.on("click",()=>{ 14 | ui.finish() 15 | }) 16 | } 17 | ui.t1.on("click",()=>{ 18 | 第二个界面() 19 | }) -------------------------------------------------------------------------------- /乱七八糟/Demo/UI/悬浮窗和UI一起使用的例子/window在屏幕之内.js: -------------------------------------------------------------------------------- 1 | function window在屏幕之内(window){ 2 | var x=window.getX() 3 | var y=window.getY() 4 | var w=window.getWidth() 5 | var h=window.getHeight() 6 | var centerX=x+w/2 7 | var centerY=y+h/2 8 | if(centerX>0 && centerX0 && centerY0 && centerX0 && centerY 4 | 5 | 6 | 7 | 8 | 9 | ) 10 | setInterval(()=>{},3000) 11 | 12 | -------------------------------------------------------------------------------- /乱七八糟/Demo/悬浮窗/UI和悬浮窗一起使用的完整栗子/window在屏幕之内.js: -------------------------------------------------------------------------------- 1 | function window在屏幕之内(window){ 2 | var x=window.getX() 3 | var y=window.getY() 4 | var w=window.getWidth() 5 | var h=window.getHeight() 6 | var centerX=x+w/2 7 | var centerY=y+h/2 8 | if(centerX>0 && centerX0 && centerY 9 | 10 | ); 11 | -------------------------------------------------------------------------------- /乱七八糟/Demo/intent/小米图库查看图片.js: -------------------------------------------------------------------------------- 1 | app.startActivity({ 2 | action: "android.intent.action.VIEW", 3 | packageName: "com.miui.gallery", 4 | className: "com.miui.gallery.activity.ExternalPhotoPageActivity", 5 | data: app.parseUri("file:///storage/emulated/0/DCIM/Screenshots/Screenshot_2019-04-10-10-33-44-041_org.autojs.autojspro.png"), 6 | type: "image/png", 7 | flags: ["grant_read_uri_permission","grant_write_uri_permission"], 8 | }); 9 | -------------------------------------------------------------------------------- /乱七八糟/Demo/白酒煮饭/QQ清除好友聊天字体.js: -------------------------------------------------------------------------------- 1 | var info = "sdcard/tencent/MobileQQ/.font_info" 2 | if (confirm("是否将所有好友的字体恢复系统默认?")) { 3 | 4 | 5 | if (files.exists(info)) { 6 | files.removeDir(info); 7 | files.createIfNotExists(info); 8 | toastLog("请刷新QQ查看"); 9 | 10 | } else { 11 | toastLog("字体文件不存在"); 12 | exit(); 13 | } 14 | } else { 15 | exit(); 16 | //在这里更新恢复正常字体功能 17 | 18 | } -------------------------------------------------------------------------------- /乱七八糟/Demo/events/按下键停止脚本运行252.js: -------------------------------------------------------------------------------- 1 | 2 | //无名小姐 -----<<>>><<<>--- 将就吧! 3 | events.setKeyInterceptionEnabled("volume_down", true); 4 | threads.start(function(){ 5 | events.observeKey(); 6 | events.on("key", function(volume_down, event){ 7 | //处理按键事件 8 | // toast("音量下键被按下了"); 9 | toast("脚本已停止运行"); 10 | //exit(); 11 | }); 12 | }); 13 | 14 | //主线程代码 15 | while(true){ 16 | sleep(1000); 17 | log("ghhj"); 18 | } -------------------------------------------------------------------------------- /乱七八糟/Demo/pro商店的脚本/Uiobject节点的智能提示(包含文档中没有的api)-1.0.0.1/main.js: -------------------------------------------------------------------------------- 1 | //示列 2 | var uinode = require("./UiNode").UiNode; 3 | 4 | var obj = text("Auto.js Pro").findOne(200); 5 | 6 | if(obj!=null){ 7 | var node = uinode.create(obj); 8 | 9 | //获得节点文本 10 | print(node.text) 11 | 12 | //控件是否可见 13 | print(node.visibleToUser); 14 | 15 | //节点的方法,获取控件的宽高 16 | print(node.method.bounds()); 17 | } 18 | 19 | -------------------------------------------------------------------------------- /乱七八糟/Demo/UI/随机颜色.js: -------------------------------------------------------------------------------- 1 | function getRndColor() { 2 | var a, r, g, b; 3 | a = Math.floor(0), r = Math.floor(随机0_255()), g = Math.floor(随机0_255()), b = Math.floor(随机0_255()); 4 | // var 反色 = -1 - colors.argb(0, r, g, b); 5 | var color = colors.argb(0, r, g, b); 6 | color = colors.toString(color) 7 | log(color) 8 | return color 9 | } 10 | function 随机0_255() { 11 | var r = parseInt(255 * Math.random()) 12 | return r 13 | } 14 | -------------------------------------------------------------------------------- /乱七八糟/Demo/canvas/图片加文字383.js: -------------------------------------------------------------------------------- 1 | requestScreenCapture(); 2 | var img = captureScreen(); 3 | var p = new Paint(); 4 | var canvas = new Canvas(img); 5 | 6 | p.setStrokeWidth(10)//设置画笔宽度 7 | p.setAntiAlias(true)//设置是否使用抗锯齿功能,如果使用,会导致绘图速度变慢 8 | p.setStyle(Paint.Style.FILL); 9 | p.setTextSize(100) 10 | p.setColor(colors.parseColor("#000000")) 11 | canvas.drawText("xxx",100, 100, p); 12 | images.save(canvas.toImage(), "./1.png"); 13 | img.recycle(); -------------------------------------------------------------------------------- /乱七八糟/Demo/canvas/图片加水印.js: -------------------------------------------------------------------------------- 1 | requestScreenCapture(); 2 | var img = captureScreen(); 3 | var p = new Paint(); 4 | var canvas = new Canvas(img); 5 | 6 | p.setStrokeWidth(10)//设置画笔宽度 7 | p.setAntiAlias(true)//设置是否使用抗锯齿功能,如果使用,会导致绘图速度变慢 8 | p.setStyle(Paint.Style.FILL); 9 | p.setTextSize(100) 10 | p.setColor(colors.parseColor("#000000")) 11 | canvas.drawText("xxx",100, 100, p); 12 | images.save(canvas.toImage(), "./1.png"); 13 | img.recycle(); 14 | -------------------------------------------------------------------------------- /乱七八糟/Demo/工具箱/改变toast位置120.js: -------------------------------------------------------------------------------- 1 | function toastAt0(msg, x, y) { 2 | importClass(android.widget.Toast); 3 | importClass(android.view.Gravity); 4 | var toast = Toast.makeText(context, msg, Toast.LENGTH_SHORT); 5 | toast.setGravity(Gravity.TOP | Gravity.LEFT, x, y); 6 | toast.show(); 7 | } 8 | 9 | function toastAt(msg, x, y) { 10 | ui.run(() => toastAt0(msg, x, y)); 11 | } 12 | 13 | toastAt('sdfsfdsdfs',300,300) 14 | sleep(2000) 15 | -------------------------------------------------------------------------------- /乱七八糟/Demo/显示消息/改变toast位置.js: -------------------------------------------------------------------------------- 1 | function toastAt0(msg, x, y) { 2 | importClass(android.widget.Toast); 3 | importClass(android.view.Gravity); 4 | var toast = Toast.makeText(context, msg, Toast.LENGTH_SHORT); 5 | toast.setGravity(Gravity.TOP | Gravity.LEFT, x, y); 6 | toast.show(); 7 | } 8 | 9 | function toastAt(msg, x, y) { 10 | ui.run(() => toastAt0(msg, x, y)); 11 | } 12 | 13 | toastAt('sdfsfdsdfs',300,300) 14 | sleep(2000) 15 | -------------------------------------------------------------------------------- /乱七八糟/Demo/canvas/画正方形.js: -------------------------------------------------------------------------------- 1 | var window = floaty.rawWindow( 2 | 6 | ); 7 | window.setTouchable(false); 8 | setInterval(() => {}, 3000) 9 | paint = new Paint() 10 | paint.setStrokeWidth(5); 11 | paint.setColor(-28707) 12 | paint.setStyle(Paint.Style.STROKE); 13 | window.board.on("draw", function (canvas) { 14 | canvas.drawRect(0,0,300,300,paint) 15 | }); 16 | -------------------------------------------------------------------------------- /乱七八糟/Demo/白酒煮饭/每日一句(英文励志).js: -------------------------------------------------------------------------------- 1 | var res = http.post("http://route.showapi.com/1211-1", { 2 | headers: { 3 | 'Content-Type': 'application/x-www-form-urlencoded' 4 | }, 5 | "showapi_appid": '79304', 6 | "showapi_sign": 'dc57036459004b369823957c97e01f14', 7 | "count": "10" 8 | }); 9 | var html = res.body.json().showapi_res_body.data; 10 | for (let i in html){ 11 | log(html[i].english + "\n" + html[i].chinese+"\n\n"); 12 | }; -------------------------------------------------------------------------------- /乱七八糟/sample/脚本引擎/运行录制文件.js: -------------------------------------------------------------------------------- 1 | 2 | var scriptsPath = "/sdcard/脚本/"; 3 | if(!files.exists(scriptsPath)){ 4 | scriptsPath = "/sdcard/Scripts/"; 5 | } 6 | var scriptFiles = files.listDir(scriptsPath, function(name){ 7 | return name.endsWith(".auto"); 8 | }); 9 | var i = dialogs.singleChoice("请选择要运行的脚本", scriptFiles); 10 | if(i < 0){ 11 | exit(); 12 | } 13 | var path = files.join(scriptsPath, scriptFiles[i]); 14 | engines.execAutoFile(path); -------------------------------------------------------------------------------- /乱七八糟/sample/脚本引擎/运行脚本文件.js: -------------------------------------------------------------------------------- 1 | 2 | var scriptsPath = "/sdcard/脚本/"; 3 | if(!files.exists(scriptsPath)){ 4 | scriptsPath = "/sdcard/Scripts/"; 5 | } 6 | var scriptFiles = files.listDir(scriptsPath, function(name){ 7 | return name.endsWith(".js"); 8 | }); 9 | var i = dialogs.singleChoice("请选择要运行的脚本", scriptFiles); 10 | if(i < 0){ 11 | exit(); 12 | } 13 | var path = files.join(scriptsPath, scriptFiles[i]); 14 | engines.execScriptFile(path); -------------------------------------------------------------------------------- /乱七八糟/Demo/白酒煮饭/朋友圈点赞.js: -------------------------------------------------------------------------------- 1 | "auto"; 2 | 3 | //下滑 4 | function scroll(){ 5 | className("ListView").scrollForward(); 6 | } 7 | 8 | //尝试点赞 9 | function tryFav(btn){ 10 | btn.click(); 11 | sleep(300); 12 | if(!click("赞")){ 13 | btn.click(); 14 | } 15 | } 16 | 17 | while(true){ 18 | var c = className("ImageView").desc("评论").untilFind(); 19 | c.each(function(btn){ 20 | tryFav(btn); 21 | }); 22 | scroll(); 23 | } -------------------------------------------------------------------------------- /乱七八糟/Demo/百度网盘/百度网盘bsd获取199.js: -------------------------------------------------------------------------------- 1 | "ui"; 2 | dialogs.alert("该BDUSS获取器来源于网络,\n安全系数未知! \n请谨慎使用,本人只是该获取器搬运工,不承担任何使用方面责任!\n获取器发布网站 彩虹工具网 \n网址:http://tool.cccyun.cc/") 3 | dialogs.alert("若对该获取器的安全性存在怀疑,请自行百度BDUSS获取方式!") 4 | ui.layout( 5 | 6 | 7 | 8 | ) 9 | 10 | setInterval(()=>{}, 1000); 11 | 12 | ui.webview.loadUrl("http://tool.cccyun.cc/tool/bduss/index.html"); 13 | -------------------------------------------------------------------------------- /乱七八糟/Demo/pro商店的脚本/脚本引擎实现顺序执行-1.0.0.1/脚本1.js: -------------------------------------------------------------------------------- 1 | var mainEngine; 2 | var index; 3 | 4 | var ii=setInterval(()=>{},1000) 5 | events.on("prepare",function(i,obj){ 6 | mainEngine=obj; 7 | index=i; 8 | main(); 9 | clearInterval(ii); 10 | }); 11 | 12 | 13 | //执行逻辑 14 | function main(){ 15 | for(var i=0;i<8;i++){ 16 | log("这里是脚本1 loop"+i); 17 | sleep(100); 18 | } 19 | mainEngine.emit("control",index); 20 | } 21 | 22 | -------------------------------------------------------------------------------- /乱七八糟/Demo/pro商店的脚本/脚本引擎实现顺序执行-1.0.0.1/脚本2.js: -------------------------------------------------------------------------------- 1 | var mainEngine; 2 | var index; 3 | 4 | var ii=setInterval(()=>{},1000) 5 | events.on("prepare",function(i,obj){ 6 | mainEngine=obj; 7 | index=i; 8 | main(); 9 | clearInterval(ii); 10 | }); 11 | 12 | 13 | //执行逻辑 14 | function main(){ 15 | for(var i=0;i<9;i++){ 16 | log("这里是脚本2 loop"+i); 17 | sleep(100); 18 | } 19 | mainEngine.emit("control",index); 20 | } 21 | 22 | -------------------------------------------------------------------------------- /乱七八糟/Demo/pro商店的脚本/脚本引擎实现顺序执行-1.0.0.1/脚本3.js: -------------------------------------------------------------------------------- 1 | var mainEngine; 2 | var index; 3 | 4 | var ii=setInterval(()=>{},1000) 5 | events.on("prepare",function(i,obj){ 6 | mainEngine=obj; 7 | index=i; 8 | main(); 9 | clearInterval(ii); 10 | }); 11 | 12 | 13 | //执行逻辑 14 | function main(){ 15 | for(var i=0;i<10;i++){ 16 | log("这里是脚本3 loop"+i); 17 | sleep(100); 18 | } 19 | mainEngine.emit("control",index); 20 | } 21 | 22 | -------------------------------------------------------------------------------- /乱七八糟/Demo/UI/ui延时.js: -------------------------------------------------------------------------------- 1 | "ui"; 2 | ui.layout( 3 | 4 | 10 | 11 | 12 | ) 13 | var view=ui.input 14 | var imgId=getResource('ic_android_eat_js') 15 | view.setCursorDrawableRes(imgId) 16 | function getResource(imageName) { 17 | var resId = context.getResources().getIdentifier(imageName, "drawable", context.getPackageName()); 18 | return resId; 19 | } 20 | -------------------------------------------------------------------------------- /乱七八糟/Demo/UI/windowFlag.js: -------------------------------------------------------------------------------- 1 | "ui"; 2 | ui.layout( 3 | 4 | 5 | 6 | ) 7 | ui.but.click(function(){toast('我被点了')}) 8 | 9 | activity.getWindow().setFlags(-1, -1) //变黑 10 | 11 | // activity.getWindow().setFlags(16, 16) //无法获取焦点 12 | 13 | // activity.getWindow().setFlags(1024, 1024) //隐藏所有的装饰物(比如状态栏) 14 | 15 | // activity.getWindow().setFlags(8192, 8192) //不允许截屏 16 | 17 | // activity.getWindow().setFlags(524288, 524288) //强制锁屏显示本界面 18 | -------------------------------------------------------------------------------- /乱七八糟/Demo/白酒煮饭/QQ加好友.js: -------------------------------------------------------------------------------- 1 | textcontains("添加好友").waitfor() 2 | console.show() 3 | if (textcontains(x) exists() t 4 | if (text contains("问题").exists()) 5 | { 6 | click("取消") 7 | relset 8 | var c = textcontains"").().text() var a = c split(" 9 | num = a[2].split("岁") 10 | num = (num[]) 11 | 1 og() 12 | Log(a) 13 | log() 14 | if (num> = 20 && num< = 23) { 15 | click("发送") 16 | reset 17 | click("取消") 18 | } 19 | reiser 20 | log("没有") 21 | click("取消") 22 | } -------------------------------------------------------------------------------- /乱七八糟/sample/多线程/多线程按键监听.js: -------------------------------------------------------------------------------- 1 | auto(); 2 | 3 | threads.start(function(){ 4 | //在子线程中调用observeKey()从而使按键事件处理在子线程执行 5 | events.observeKey(); 6 | events.on("key_down", function(keyCode, events){ 7 | //音量键关闭脚本 8 | if(keyCode == keys.volume_up){ 9 | exit(); 10 | } 11 | }); 12 | }); 13 | 14 | toast("音量上键关闭脚本"); 15 | 16 | events.on("exit", function(){ 17 | toast("脚本已结束"); 18 | }); 19 | 20 | while(true){ 21 | log("脚本运行中..."); 22 | sleep(2000); 23 | } -------------------------------------------------------------------------------- /乱七八糟/Demo/动画/视觉干扰神器(记忆力增强).js: -------------------------------------------------------------------------------- 1 | var window2 = floaty.rawWindow( 2 | 3 | 14 | 15 | 16 | ); 17 | 18 | ui.ok.on("click", ()=>{ 19 | var i = ui.sp1.getSelectedItemPosition(); 20 | var j = ui.sp2.getSelectedItemPosition(); 21 | toast("您的选择是选项" + (i + 1) + "和选项" + (j + 4)); 22 | }); 23 | 24 | ui.select3.on("click", ()=>{ 25 | ui.sp1.setSelection(2); 26 | }); -------------------------------------------------------------------------------- /乱七八糟/Demo/工具箱/马冬梅.js: -------------------------------------------------------------------------------- 1 | var count = function () { 2 | var count = 6 3 | return function () { 4 | return count++; 5 | } 6 | }() 7 | 8 | function thread(text, count) { 9 | threads.start( 10 | function () { 11 | for (let i = 0; i < 100; i++) { 12 | toastAt(text, 366, count * 100) 13 | sleep(20) 14 | } 15 | } 16 | ) 17 | } 18 | 19 | function toastAt(msg, x, y) { 20 | ui.run(() => toastAt0(msg, x, y)); 21 | } 22 | 23 | function toastAt0(msg, x, y) { 24 | importClass(android.widget.Toast); 25 | importClass(android.view.Gravity); 26 | var toast = Toast.makeText(context, msg, Toast.LENGTH_SHORT); 27 | toast.setGravity(Gravity.TOP | Gravity.LEFT, x, y); 28 | toast.show(); 29 | } 30 | thread('马', count()) 31 | thread('冬', count()) 32 | thread('梅', count()) 33 | -------------------------------------------------------------------------------- /乱七八糟/Demo/手机/获取通讯录.js: -------------------------------------------------------------------------------- 1 | /** 2 | *Usedfor: Auto.js Pro 3 | *Author: Hyun Mai QQ:2668649892 4 | *Features: 读取通讯录联系人 5 | *Tips: 请先允许读取通讯录权限 6 | */ 7 | 8 | 9 | importClass(android.database.Cursor); 10 | 11 | var cursor = context.getContentResolver().query(android.provider.ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null); 12 | while (cursor.moveToNext()) { 13 | //读取通讯录的姓名 14 | var name = cursor.getString(cursor.getColumnIndex(android.provider.ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)); 15 | //读取通讯录的号码 16 | var number = cursor.getString(cursor.getColumnIndex(android.provider.ContactsContract.CommonDataKinds.Phone.NUMBER)); 17 | if (name != number) { 18 | log("[名字]:" + name + " [号码]:" + number); 19 | } else { 20 | log("[号码]:" + number); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /乱七八糟/Demo/小游戏/坦克大战游戏/js/num.js: -------------------------------------------------------------------------------- 1 | var Num = function(context) { 2 | this.ctx = context; 3 | this.size = 14; 4 | 5 | this.draw = function(num, x, y) { 6 | var tempX = x; 7 | var tempY = y; 8 | var tempNumArray = []; 9 | if (num == 0) { 10 | tempNumArray.push(0); 11 | } else { 12 | while (num > 0) { 13 | tempNumArray.push(num % 10); 14 | num = parseInt(num / 10); 15 | } 16 | } 17 | for (var i = tempNumArray.length - 1; i >= 0; i--) { 18 | tempX = x + (tempNumArray.length - i - 1) * this.size; 19 | this.ctx.drawImage(RESOURCE_IMAGE, POS["num"][0] + tempNumArray[i] * 14, POS["num"][1], this.size, this.size, tempX, tempY, this.size, this.size); 20 | 21 | } 22 | }; 23 | 24 | }; -------------------------------------------------------------------------------- /乱七八糟/Demo/悬浮窗/悬浮窗下拉框.js: -------------------------------------------------------------------------------- 1 | var w = floaty.rawWindow( 2 | 3 | 悬浮文字 4 | 5 | 6 | 下拉菜单 7 | 8 | 9 | 10 | 11 | ); 12 | w.setPosition(500, 500); 13 | 14 | 15 | 16 | w.sp1.on("key", function(keyCode, event){ 17 | if(event.getAction() == event.ACTION_DOWN && keyCode == keys.back){ 18 | w.disableFocus(); 19 | event.consumed = true; 20 | } 21 | }); 22 | 23 | w.sp1.on("touch_down", ()=>{ 24 | w.requestFocus(); 25 | w.sp1.requestFocus(); 26 | }); 27 | 28 | setTimeout(() => { 29 | w.close(); 30 | }, 5000); -------------------------------------------------------------------------------- /乱七八糟/sample/应用/应用工具.js: -------------------------------------------------------------------------------- 1 | var i = dialogs.select("请选择工具", "获取应用包名", "打开应用详情页", "卸载应用"); 2 | 3 | if(i == -1){ 4 | alert("没有选择任何工具!"); 5 | } 6 | 7 | switch(i){ 8 | case 0: 9 | //获取应用包名 10 | appName = rawInput("请输入应用名称", "QQ"); 11 | packageName = getPackageName(appName); 12 | toast(packageName); 13 | setClip(packageName); 14 | toast("已复制到剪贴板"); 15 | break; 16 | case 1: 17 | //打开应用详情页 18 | appName = rawInput("请输入应用名称", "微信"); 19 | openAppSetting(getPackageName(appName)); 20 | break; 21 | case 2: 22 | //卸载应用 23 | appName = rawInput("请输入应用名称"); 24 | packageName = getPackageName(appName); 25 | if(packageName == ""){ 26 | toast("应用不存在"); 27 | }else if(confirm("确定卸载应用" + packageName + "吗?")){ 28 | app.uninstall(packageName); 29 | } 30 | break; 31 | } -------------------------------------------------------------------------------- /乱七八糟/Demo/白酒煮饭/百度人脸识别.js: -------------------------------------------------------------------------------- 1 | 2 | requestUrl="https://aip.baidubce.com/rest/2.0/face/v3/detect" 3 | accessToken = '24.a51d52060f4039b9d958f85e5561004a.2592000.1537688970.282335-11544833' 4 | requestUrl = requestUrl + "?access_token=" + accessToken 5 | 6 | imgFile="/storage/emulated/0/QQBrowser/图片收藏/8669ee1e1cc627171136ce321cf98bad.jpg" 7 | function img64(imgFile){ 8 | let img=images.read(imgFile) 9 | let img64=images.toBase64(img) 10 | return img64 11 | } 12 | imageBase64=img64(imgFile) 13 | 14 | console.show(); 15 | var res = http.post(requestUrl, { 16 | headers: { 17 | 'Content-Type': 'application/json' 18 | }, 19 | image:imageBase64, 20 | image_type:"BASE64", 21 | face_field:"age,beauty,face_shape,gender,glasses,facetype" 22 | }); 23 | 24 | var html = res.body.string(); 25 | log(html) 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /乱七八糟/Demo/UI/在ui中使用悬浮窗demo.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 作者: 家 3 | * QQ: 203118908 4 | * 功能: 在ui中使用悬浮窗demo 5 | */ 6 | 'ui'; 7 | ui.layout( 8 | 9 | 10 | 11 | 12 | ) 13 | var w; 14 | ui.show.on('click',function(){ 15 | toastLog('show') 16 | if(w){ 17 | w.setSize(666,666) 18 | }else{ 19 | threads.start( 20 | function(){ 21 | w = floaty.rawWindow( 22 | 23 | 悬浮文字 24 | 25 | ); 26 | w.setSize(666,666) 27 | } 28 | ) 29 | } 30 | }) 31 | ui.hide.on('click',function(){ 32 | toastLog('hide') 33 | w.setSize(1,1) 34 | }) 35 | setInterval( 36 | function(){ 37 | },1000 38 | ) 39 | -------------------------------------------------------------------------------- /乱七八糟/Demo/工具箱/手机号码归属地查询238.js: -------------------------------------------------------------------------------- 1 | var numbel=dialogs.rawInput("请输入你要查询的号码:",""); 2 | var url = "http://m.ip138.com/mobile.asp?mobile="; 3 | var html = http.get(url+numbel).body.string(); 4 | html = cutstr(html, "", 2, 20); 5 | html= html.replace(/[<>\/tdspan]+/g, "\n").split("\n"); 6 | dialogs.alert("查询的号码:"+numbel+"\n"+"\n"+"①"+html[1]+"\n"+html[2]+"\n"+"②"+html[3]+":"+html[4]+"\n"+"③"+html[5]+":"+html[6]+"\n"+"④"+html[7]+":"+html[8]); 7 | 8 | function cutstr(a, b, c, f, e) { 9 | a = a.split(b); 10 | var d = "" 11 | if (e < a.length && e != null) {} else { 12 | e = a.length; 13 | } 14 | if (f == null) { 15 | f = 1; 16 | } 17 | for (i = f; i < e; i++) { 18 | tmp = a[i].split(c); 19 | if (tmp.length > 1) { 20 | d += tmp[0]; 21 | } 22 | } 23 | return d; 24 | } -------------------------------------------------------------------------------- /查询控件.js: -------------------------------------------------------------------------------- 1 | let debugWidget = function( widget, flag ){ 2 | flag = flag != null ? flag : 0 3 | if( widget ){ 4 | let prefix = "" 5 | for (let idx = 0; idx < flag; idx++) { 6 | prefix = prefix + " " 7 | } 8 | log( " " + prefix + flag + " " + widget.bounds() + " " + widget.id() + " " + widget.className() + " - " + widget.text() + " - " + widget.desc() + " - " + widget.checked() + " - " + widget.selected() + " - " + widget.clickable() + " - " + widget.visibleToUser() ) 9 | if(widget.childCount()){ 10 | log( prefix + " " + " \\" + widget.childCount() ) 11 | widget.children().forEach(child => { 12 | debugWidget( child, flag+1 ) 13 | }); 14 | } 15 | } 16 | } 17 | 18 | debugWidget( classNameStartsWith("android").findOne(1000) ) -------------------------------------------------------------------------------- /乱七八糟/Demo/工具箱/微信朋友圈分享256.js: -------------------------------------------------------------------------------- 1 | //23333 2 | importClass(android.content.ComponentName); 3 | importClass(android.net.Uri); 4 | intent = new Intent(); 5 | path = files.getSdcardPath() + "/haha.png"; 6 | intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 7 | intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); 8 | var uri = android.support.v4.content.FileProvider.getUriForFile(context, 9 | "org.autojs.autojs.fileprovider", new java.io.File(files.path(path))); 10 | 11 | comp = new ComponentName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareToTimeLineUI"); 12 | intent.setComponent(comp); 13 | intent.setAction("android.intent.action.SEND"); 14 | intent.setType("image/*"); 15 | //intent.putExtra(Intent.EXTRA_TEXT, "我是文字"); 16 | intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); 17 | intent.putExtra(Intent.EXTRA_STREAM, uri); 18 | context.startActivity(intent); -------------------------------------------------------------------------------- /乱七八糟/Demo/工具箱/停止给定名字脚本StopEngine161.js: -------------------------------------------------------------------------------- 1 | /*此代码保存为 StopEngine.js 2 | 在调用方使用: 声明 var stscript= require('./StopEngine.js'); 3 | 调用 stscript("1.js"); 4 | 代码作用: 停止给定脚本。 5 | 疑问:模块单独运行会提示错误 6 | 不黑从autojs论坛保存 7 | */ 8 | 9 | 10 | function stopscript(scriptname){ 11 | var execution=engines.all(); 12 | for(var i=0;i 4 | 5 | 6 | 7 | 8 | ) 9 | var jsFiles = getJsFile() 10 | var jsFileObjs = [] 11 | jsFiles.map( 12 | (fileName) => { 13 | jsFileObjs.push({ 14 | fileName: fileName 15 | }) 16 | } 17 | ) 18 | var listView = ui.jsFiles 19 | listView.setDataSource(jsFileObjs) 20 | listView.on("item_click", function (item, i, itemView, listView) { 21 | var info = itemView.fileName.text() 22 | toastLog(info) 23 | }); 24 | 25 | function getJsFile() { 26 | var dir = "/sdcard/脚本/"; 27 | var jsFiles = files.listDir(dir, function (name) { 28 | return name.endsWith(".js") && files.isFile(files.join(dir, name)); 29 | }); 30 | return jsFiles 31 | } 32 | -------------------------------------------------------------------------------- /乱七八糟/Demo/UI/webView填充表单.js: -------------------------------------------------------------------------------- 1 | 'ui'; 2 | ui.layout( 3 | 4 | 5 | 6 | ) 7 | var settings = ui.a.getSettings() 8 | settings.setJavaScriptEnabled(true); 9 | var url = "https://www.baidu.com/" 10 | ui.a.loadUrl(url); 11 | var 要百度的内容 = '谁是世界上最美的女人' 12 | var 百度搜索框id = 'index-kw' 13 | var js = "javascript:document.getElementById('" + 百度搜索框id + "').value = '" + 要百度的内容 + "';"; 14 | var setIntervalId; 15 | setIntervalId = setInterval(() => { 16 | var P = ui.a.getProgress(); 17 | log(P) 18 | if (P == 10) { 19 | setTimeout( 20 | function () { 21 | ui.a.evaluateJavascript(js, new android.webkit.ValueCallback( 22 | function onReceiveValue(s) { 23 | log(s) 24 | } 25 | )) 26 | }, 1000 27 | ) 28 | } 29 | clearInterval(setIntervalId) 30 | }, 100); 31 | -------------------------------------------------------------------------------- /乱七八糟/sample/事件与按键、触摸监听/按键监听.js: -------------------------------------------------------------------------------- 1 | "auto"; 2 | 3 | events.observeKey(); 4 | 5 | var keyNames = { 6 | "KEYCODE_VOLUME_UP": "音量上键", 7 | "KEYCODE_VOLUME_DOWN": "音量下键", 8 | "KEYCODE_HOME": "Home键", 9 | "KEYCODE_BACK": "返回键", 10 | "KEYCODE_MENU": "菜单键", 11 | "KEYCODE_POWER": "电源键", 12 | }; 13 | 14 | events.on("key", function(code, event){ 15 | var keyName = getKeyName(code, event); 16 | if(event.getAction() == event.ACTION_DOWN){ 17 | toast(keyName + "被按下"); 18 | }else if(event.getAction() == event.ACTION_UP){ 19 | toast(keyName + "弹起"); 20 | } 21 | }); 22 | 23 | loop(); 24 | 25 | 26 | 27 | function getKeyName(code, event){ 28 | var keyCodeStr = event.keyCodeToString(code); 29 | var keyName = keyNames[keyCodeStr]; 30 | if(!keyName){ 31 | return keyCodeStr; 32 | } 33 | return keyName; 34 | } -------------------------------------------------------------------------------- /乱七八糟/Demo/UI/动态显示隐藏布局156.js: -------------------------------------------------------------------------------- 1 | "ui"; 2 | ui.layout( 3 | 4 | 5 | 10 | 11 | 12 | 13 | ) 14 | ui.post( 15 | function () { 16 | var imgView=ui.img 17 | var myBitmap=createBitmap(imgView) 18 | var imgPath=saveBitmap(myBitmap) 19 | log(imgPath) 20 | }, 1000 21 | ) 22 | function createBitmap(view) { 23 | view.setDrawingCacheEnabled(true); 24 | view.buildDrawingCache(); 25 | var bitmap = view.getDrawingCache(); 26 | return bitmap; 27 | } 28 | function saveBitmap(bitmap) { 29 | var imgPath="/sdcard/1.png" 30 | var canvas = new Canvas(bitmap); 31 | var myimg = canvas.toImage(); 32 | log('myimg=') 33 | log(myimg) 34 | images.save(myimg, imgPath ); 35 | app.viewFile(imgPath); 36 | return imgPath 37 | } 38 | -------------------------------------------------------------------------------- /乱七八糟/Demo/UI/获取UI界面控件宽度和高度.js: -------------------------------------------------------------------------------- 1 | 2 | 'ui'; 3 | var marginSize = '100' 4 | var myMargin = marginSize + ' ' + marginSize + ' ' + marginSize + ' ' + marginSize 5 | ui.layout( 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | ) 14 | vto = ui.board.getViewTreeObserver(); 15 | var hasMeasured = false; 16 | vto.addOnPreDrawListener(new android.view.ViewTreeObserver.OnPreDrawListener({ 17 | onPreDraw: function () { 18 | if (hasMeasured == false) { 19 | // left1 = ui.board.getMeasuredLeft(); 20 | height1 = ui.board.getMeasuredHeight(); 21 | width1 = ui.board.getMeasuredWidth(); 22 | //获取到宽度和高度后,可用于计算 23 | // log("left1::" + left1); 24 | log("height::" + height1); 25 | log("width::" + width1); 26 | hasMeasured = true; 27 | } 28 | return true; 29 | } 30 | })); 31 | -------------------------------------------------------------------------------- /乱七八糟/Demo/工具箱/线段上的所有点.js: -------------------------------------------------------------------------------- 1 | log(getLinePoints([0.9,1,5,5.5])); 2 | 3 | 4 | 5 | 6 | function getLinePoints(xyAry) { 7 | //xyary=[x1,y1,x2,y2]; 8 | let x1 = xyAry[0]; 9 | let y1 = xyAry[1]; 10 | let x2 = xyAry[2]; 11 | let y2 = xyAry[3]; 12 | //kx+b=y;求k,b 13 | let k = (y2 - y1) / (x2 - x1); 14 | let b = y1 - k * x1; 15 | //~~~~~~~~~~~~ 16 | let x1_ = Math.floor(x1); 17 | let x2_ = Math.floor(x2); 18 | let fx = (x2_ - x1_) / Math.abs(x2_ - x1_); 19 | let pointsAry = new Array; 20 | for (let ix = x1_; ix != x2_+fx; ix += fx) { 21 | let iy = Math.floor(k * ix + b); 22 | if (pointsAry.length) { 23 | if (pointsAry[pointsAry.length - 2] != ix - 1 || pointsAry[pointsAry.length - 1] != iy) { 24 | pointsAry.push(ix - 1, iy); 25 | }; 26 | }; 27 | pointsAry.push(ix, iy); 28 | }; 29 | return pointsAry; 30 | }; 31 | -------------------------------------------------------------------------------- /乱七八糟/Demo/数组/大数组包含小数组.js: -------------------------------------------------------------------------------- 1 | function bigArrContainsSmallArr(bigArr, smallArr) { 2 | //对于重复的元素采用计数的方式对比 3 | var bigArrObj = {} 4 | var smallArrObj = {} 5 | for (let i = 0; i < bigArr.length; i++) { 6 | var has = bigArrObj.hasOwnProperty(bigArr[i]) 7 | if (has) { 8 | bigArrObj[bigArr[i]]++; 9 | } else { 10 | bigArrObj[bigArr[i]] = 1 11 | } 12 | } 13 | for (let i = 0; i < smallArr.length; i++) { 14 | var has = smallArrObj.hasOwnProperty(smallArr[i]) 15 | if (has) { 16 | smallArrObj[smallArr[i]]++; 17 | } else { 18 | smallArrObj[smallArr[i]] = 1 19 | } 20 | } 21 | for (var k in smallArrObj) { 22 | if (bigArrObj.hasOwnProperty(k) && bigArrObj[k] >= smallArrObj[k]) {} else { 23 | return false 24 | } 25 | } 26 | return true 27 | } 28 | 29 | var bigArr=[1,2,3,4,11] 30 | var smallArr=[1,1,2,3,4,11] 31 | var r=bigArrContainsSmallArr(bigArr, smallArr) 32 | log(r) 33 | -------------------------------------------------------------------------------- /乱七八糟/Demo/http/格式化headers.js: -------------------------------------------------------------------------------- 1 | // var str = files.read('./data.js') 2 | var str = getClip() 3 | log("\n\n\n"+str + "\n\n\n"); 4 | var array = str.split("\n"); 5 | var 非空行=[] 6 | var json = {}; 7 | array.map( 8 | (line)=>{ 9 | if(line.length>3 && !(/^(GET|POST).*HTTP\//.test(line))){ 10 | 非空行.push(line) 11 | } 12 | if(/^(GET|POST).*HTTP\//.test(line)){ 13 | line=line.trim() 14 | var method=line.match(/[^ ]*(?= )/)[0] 15 | var url=line.match(/\/[^ ]*(?= )/)[0] 16 | log(method) 17 | json.method=method 18 | json.url=url 19 | } 20 | } 21 | ) 22 | log(非空行) 23 | for (let i = 0; i < 非空行.length; i++) { 24 | var kvstr = 非空行[i].split(":"); 25 | var key = kvstr[0].trim(); 26 | var value = kvstr[1].trim(); 27 | json[key] = value; 28 | } 29 | log("\n\n\n==========================================================================================\n\n\n"); 30 | log("\n\n\n",json, "\n\n\n"); 31 | -------------------------------------------------------------------------------- /乱七八糟/Demo/UI/帧布局139.js: -------------------------------------------------------------------------------- 1 | "ui"; 2 | ui.layout( 3 | 4 | 7 | 8 | 12 | 16 | 17 | 18 | 22 | 23 | 24 | 28 | 29 | 30 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | ); 42 | -------------------------------------------------------------------------------- /乱七八糟/Demo/UI/表格布局283.js: -------------------------------------------------------------------------------- 1 | "ui"; 2 | ui.layout( 3 | 4 | 9 | 10 | 11 | 12 | 16 | 20 | 21 | 22 | 23 | 27 | 32 | 33 | 34 | 35 | 5 | 6 | 7 | ) 8 | ui.web.loadUrl('https://www.baidu.com') 9 | var mode = [{ 10 | w: 100, 11 | h: 150 12 | }, 13 | { 14 | w: 300, 15 | h: 450 16 | }, 17 | { 18 | w: device.width+"px", 19 | h: device.height+"px" 20 | }, 21 | { 22 | w: 900, 23 | h: 1350 24 | } 25 | ] 26 | var num = function () { 27 | var current = 0 28 | return function () { 29 | if (current > mode.length - 1) { 30 | current = 0 31 | } 32 | return current++ 33 | } 34 | }() 35 | ui.zoom.click( 36 | function () { 37 | var currentNum = num() 38 | var currentMode = mode[currentNum] 39 | log('currentNum=', currentNum) 40 | ui.run( 41 | function () { 42 | ui.web.attr("width", currentMode.w) 43 | ui.web.attr("height", currentMode.h) 44 | } 45 | ) 46 | } 47 | ) 48 | -------------------------------------------------------------------------------- /乱七八糟/Demo/pro商店的脚本/无情的打字机-1.0.0.0/project.json: -------------------------------------------------------------------------------- 1 | { 2 | "assets": [], 3 | "build": { 4 | "build_number": 0, 5 | "build_time": 0, 6 | "release": false 7 | }, 8 | "encryptLevel": 0, 9 | "useFeatures": [], 10 | "launchConfig": { 11 | "displaySplash": true, 12 | "hideLogs": false, 13 | "splashText": "Powered by Auto.js Pro", 14 | "stableMode": false 15 | }, 16 | "mainScriptFile": "main.js", 17 | "name": "无情的打字机", 18 | "optimization": { 19 | "removeOpenCv": false, 20 | "unusedResources": false 21 | }, 22 | "packageName": "pack.name.i.dont.know.com", 23 | "publish": { 24 | "category": "其他", 25 | "details": "只是一个很鸡肋的打字机", 26 | "maxAutoJsVersion": -1, 27 | "maxProVersion": 7009999, 28 | "minAutoJsVersion": -1, 29 | "minProVersion": 7000000, 30 | "minSdkVersion": 2, 31 | "permissions": [], 32 | "summary": "无聊之作(新手之作)", 33 | "tags": [] 34 | }, 35 | "scripts": {}, 36 | "versionCode": 0, 37 | "versionName": "1.0.0" 38 | } --------------------------------------------------------------------------------