├── script
├── 结束所有后台进程.js.md
├── 文本操作.js.md
├── leimu.js.md
├── 安装于卸载.js.md
├── 无限上滑.js.md
├── 无限下滑.js.md
├── 绿色(2).js.md
├── 001-Hello JS.js.md
├── Base64(1).js.md
├── main(13).js.md
├── main(3).js.md
├── main(5).js.md
├── 测试.js.md
├── 定时运行(精确到秒).js.md
├── 抓取logcat日志.js.md
├── 004-循环for.js.md
├── [Http代理] 讯代理_优质代理.js.md
├── 返当前路径.js.md
├── 微信扫一扫.js.md
├── 消除QQ消息小红点(注:仅限QQ,轻聊版与tim不行).js.md
├── 005-循环while.js.md
├── 无限循环点击(无障碍服务).js.md
├── click控件获取坐标位置.js.md
├── 怼人神器核心脚本.js.md
├── 截图释放.js.md
├── 淘宝 内打开网页.js.md
├── 连点器.js.md
├── 强制停止应用.js.md
├── QQ开锁.js.md
├── 99乘法表.js.md
├── 微信删好友脚本.js.md
├── 点击左上角.js.md
├── 微信删好友脚本(1).js.md
├── 抖音自动点赞.js.md
├── 数组填充(1).js.md
├── 包。.js.md
├── 一言.js.md
├── 下拉刷新+上滑.js.md
├── 点.js.md
├── zip解压.js.md
├── 如何被调用函数.js.md
├── 正则匹配手机号.js.md
├── 判断屏幕方向是横屏还是竖屏.js.md
├── 微信一键已读.js.md
├── 重复点击同一位置.js.md
├── 003-循环break.js.md
├── 新浪微博 签到红包.js.md
├── 异常2.js.md
├── ROOT权限启动无障碍服务.js.md
├── 获取app安装时间.js.md
├── 计数器.js.md
├── json格式化.js.md
├── 确认框.js.md
├── ?提取所有text.js.md
├── 取消小米短信收藏.js.md
├── 写入文本文件.js.md
├── 循环发送消息(2).js.md
├── vscode连接不上手机解决办法.js.md
├── 双指捏合.js.md
├── test(4).js.md
├── main(1)(2).js.md
├── 取消金豆.js.md
├── 002-if条件.js.md
├── QQ___(1).js.md
├── 判断屏幕是否锁定.js.md
├── 狼人杀守房脚本.js.md
├── 运行新的脚本任务.js.md
├── ss.js.md
├── 卸载应用.js.md
├── 查询app包名.js.md
├── 这是一个没用的脚本.js.md
├── 支付宝打赏.js.md
├── main(7).js.md
├── 外网ip.js.md
├── 百度摇一摇.js.md
├── 8.0打开关闭网络usb共享.js.md
├── qq轰炸机(1).js.md
├── 三指捏合.js.md
├── 发射广播.js.md
├── 循环发送消息.js.md
├── 控制台获取指针位置.js.md
├── 支付宝输入密码.js.md
├── 全屏页面.js.md
├── 刷屏金箍棒.js.md
├── 循环发送消息(1).js.md
├── 微信直接跳转扫一扫.js.md
├── main(1)(3).js.md
├── 微信取消订阅号关注.js.md
├── 数组填充.js.md
├── QQ头像反转.js.md
├── 叠猫逛店铺(纯手工循环脚本).js.md
├── 检测网络是否可用.js.md
├── 测试(退群).js.md
├── 给脚本1发消息.js.md
├── 动态添加控件.js.md
├── 秒抢公示-1080-2340(1).js.md
├── 范围随机选点(防检测).js.md
├── 刷屏(1).js.md
├── 气场测试(正值越大越好).js.md
├── DensityUtil.js.md
├── LZ动作.js.md
├── 注册成功.js.md
├── 逗你玩.js.md
├── QQ一键签到.js.md
├── QQ消息列表清扫器.js.md
├── ui中的延时除了多线程有别的办法吗.js.md
├── 三指下滑.js.md
├── 全局半透明背景(1).js.md
├── 跳过软件启动页广告思路.js.md
├── QQ消息悬浮显示.js.md
├── QQ自动抢红包(没卵用).js.md
├── 控件批量生成.js.md
├── 武炼巅峰qq刷屏.js.md
├── 获取手机背景.js.md
├── 停止运行(3).js.md
├── 判断视频播放状态.js.md
├── 抖音关注.js.md
├── 播放系统提示音.js.md
├── QQ分享文本消息.js.md
├── config.js.md
├── patch.js.md
├── 别再弹开启悬浮款了.js.md
├── 随机打乱数组顺序.js.md
├── 高级输入法.js.md
├── 微信消息列表清扫.js.md
├── 无限震动.js.md
├── 00-通知相册.js.md
├── press点击控件.js.md
├── 点击复制.js.md
├── 数字比拼辅助.js.md
├── 网页打包.js.md
├── 监听手机接听电话响铃.js.md
├── 自动获取安卓高清壁纸.js.md
├── 酷安互相关注.js.md
├── qq头像反转(1).js.md
├── 一加手机打开指针位置.js.md
├── 强制停止应用(1).js.md
├── 微信自动删好友.js.md
├── UI切换.js.md
├── 王者荣耀循环挑战一个脚本.js.md
├── 【刷宝】.js.md
├── 按钮平分.js.md
├── 颜色反转(副本).js.md
├── shell开关飞行模式.js.md
├── ui多界面.js.md
├── long.js.md
├── qq临时聊天(2).js.md
├── 好友列表点谁赞谁.js.md
├── 保存测试.js.md
├── 自杀.js.md
├── 按下键停止脚本运行.js.md
├── 调用悬浮窗显示布局范围.js.md
├── 调用相机并保存至指定路径.js.md
├── QQ分享文本消息修正.js.md
├── 全局半透明背景.js.md
├── 判断字符第x次时的位置.js.md
├── 微信批量加附近人.js.md
├── 无聊作品 Z字解锁大法.js.md
├── 调用相机并保存至指定路径(1).js.md
├── ?提取text和desc.js.md
├── rawWindow求解.js.md
├── 图片加文字.js.md
├── 检查更新脚本.js.md
├── 调用系统相机并保存图片.js.md
├── XPOSED自动设置.js.md
├── 朋友圈点赞.js.md
├── !微信朋友圈点赞.js.md
├── 1.js.md
├── 全屏显示背景图.js.md
├── 别踩白块2.js.md
├── 小米WIFI链.js.md
├── 改变toast位置(1).js.md
├── 贴吧签到.js.md
├── QQ互赞脚本.js.md
├── spinner例子.js.md
├── 区域找图.js.md
├── 百度网盘bsd获取.js.md
├── 禁止脚本多次运行.js.md
├── QQ点啧js 逸.js.md
├── WebViewClient的使用方法.js.md
├── canvas画正方形.js.md
├── 切换IP.js.md
├── 钉钉打卡页面.js.md
├── 随机生成手机号.js.md
├── match的实践.js.md
├── 改变toast位置.js.md
├── QQ清除好友聊天字体.js.md
├── 小心闪瞎你的眼.js.md
├── 邮箱(测试)(1).js.md
├── QQ循环发送图片.js.md
├── js进阶教程02.js.md
├── 一个一个输入数字.js.md
├── 批量删除微信好友.js.md
├── 模板字符串.js.md
├── QQ点赞(2).js.md
├── qq名片点赞脚本.js.md
├── qq喷子.js.md
├── qq循环发送图片(2).js.md
├── 获取QQ空间说说内容.js.md
├── SMSCODE.js.md
├── 超级简单的人工智能.js.md
├── Minecraft BE 自动钓鱼.js.md
├── 停止除了自身的脚本.js.md
├── 刷宝初级.js.md
├── 微信点赞.js.md
├── 快手一键删全部关注.js.md
├── 惠头条(1).js.md
├── 搞你.js.md
├── 中青看点视频.js.md
├── 续.js.md
├── 随机数.js.md
├── 心形手势.js.md
├── 手机卡死.js.md
├── 花屏.js.md
├── 输入框光标.js.md
├── 0根据图色点击.js.md
├── qq图片反转.js.md
├── webScript.js.md
├── windowFlag.js.md
├── 占用空间.js.md
├── 生成脚本测试信息.js.md
├── ?滑行判断.js.md
├── gpsui.js.md
├── 多指同时点击.js.md
├── 获取手机背 景.js.md
├── 发短信.js.md
├── 清空酷安动态.js.md
├── installInfo.js.md
├── 保存控件状态.js.md
├── 别白块.js.md
├── 无限刷红包.js.md
├── 直接打开开发者模式.js.md
├── 视觉干扰神器(记忆力增强).js.md
├── 本地时间及网络时间验证.js.md
├── 00-读取txt文本每一行&去空格.js.md
├── 1查询本机IP地理位置.js.md
├── 成语词典.js.md
├── 漂流瓶自动回复.js.md
├── 刷趣头条首页.js.md
├── 找茬微信半自动.js.md
├── 心形手势(1).js.md
├── 火云获取手机号码.js.md
├── adb5037常用命令.js.md
├── 判断联网类型.js.md
├── 聊天机器人清爽版.js.md
├── 文件夹大小函数(1).js.md
├── 1箭头函数和function的this对比.js.md
├── 调整和获取手机音量.js.md
├── 判断网络类型.js.md
├── 实时显示脚本运行时长.js.md
├── 文件夹大小函数.js.md
├── http超时返回null.js.md
├── 最新安装的app.js.md
├── 二维码识别(2).js.md
├── 妈妈就在身边.js.md
├── QQ数字刷屏1-100.js.md
├── QQ空间点赞(2).js.md
├── Switch控件.js.md
├── qq顺序点赞脚本.js.md
├── tt.js.md
├── 图片二维码识别.js.md
├── auto.js无root取短信.js.md
├── 测试截图.js.md
├── 语音识别.js.md
├── 截图水印.js.md
├── 指针位置_意图.js.md
├── 查询本机IP地理位置.js.md
├── 直线和圆交点.js.js.md
├── 判断联网类型(1).js.md
├── 双击返回退出的ui.js.md
├── 批量删除留言.js.md
├── 发送通知(3).js.md
├── 打印广播Intent信息.js.md
├── 百度翻译[中转英](1).js.md
├── listView勾选框丢了怎么解决.js.md
├── hello语音刷房脚本(雷电).js.md
├── 单例模式.js.md
├── 只同时运行一个脚本.js.md
├── 截图水印(1).js.md
├── 提取广播数据.js.md
├── 计时.js.md
├── QQ群签到.js.md
├── 屏幕唤醒.js.md
├── 微信红包通知监听.js.md
├── 界面属性.js.md
├── 员工福利分享.js.md
├── 脚本收藏合集.js.md
├── QQ打开聊天窗口.js.md
├── autojs开启无障碍.js.md
├── 花屏(2).js.md
├── js块级作用域.js.md
├── 手机QQ好友动态自动.js.md
├── 百度翻译[中转英].js.md
├── 获取app图标1.js.md
├── 取关全部公众号.js.md
├── 钉钉自动打卡-解锁2.js.md
├── 诊断数据收集.js.md
├── QQ自动评论(联网版).js.md
├── 快来签到吧.js.md
├── QQ红包.js.md
├── 读写@data目录文件.js.md
├── 最大公约数.js.md
├── 伪监听屏幕旋转.js.md
├── 强制聊天脚本.js.md
├── HAHA小视频无限撸money(无解说).js.md
├── te.js.md
├── 微信搜索框输入消息.js.md
├── 打开指针.js.md
├── 获取设备信息.js.md
├── 读取保存界面配置接口.js.md
├── 静音或恢复音量.js.md
├── 1求交集.js.md
├── 子线程与主线程逻辑.js.md
├── activity.js.md
├── 写脚本--控件信息自动重命名.js.md
├── 华为解锁(1).js.md
├── 广告群自动抢楼.js.md
├── 显示时间日期.js.md
├── 界面示例-登录.js.md
├── 取关.js.md
├── 悬浮窗文本追加内容并滚动至末尾.js.md
├── 脚本文件夹(2).js.md
├── 百度知道.js.md
├── 音量上下键同时按控制.js.md
├── ui选择文件.js.md
├── 广播(电量)(2).js.md
├── 继续.js.md
├── 足艺阁爬图脚本试用版.js.md
├── QQ刷一刷改了.js.md
├── 求差集.js.md
├── 发送一个空的QQ空间红包.js.md
├── 中括号数量问题2.js.md
├── 点击试验文件.js.md
├── QQ强制聊天.js.md
├── 上滑方式.js.md
├── Fermat素性测试.js.md
├── XYWH量取器简易版.js.md
├── 微信朋友分享.js.md
├── QQ自动评论(联网版)(1).js.md
├── 录音最原始版本.js.md
├── exec的实践.js.md
├── 戳一戳.js.md
├── 马什么梅.js.md
├── 心形手势(2)(1).js.md
├── 贴吧秒刷搜索排名.js.md
├── 兼容安卓6、7的写法.js.md
├── 只点赞好友.js.md
├── 百度文字识别(自动获取token).js.md
├── 饿了么签到.js.md
├── !绿色守护-结束应用.js.md
├── QQ清除好友聊天字体ok.js.md
├── 读短信 10条.js.md
├── QQ语音.js.md
├── 应用工具.js.md
├── 获取通讯录.js.md
├── autoGetCatCoin.js.md
├── qq批量建群(不完美).js.md
├── 悬浮窗下拉框.js.md
├── 00-读&删指定文本行.js.md
├── QQ名片点赞(只点赞好友).js.md
├── js进阶教程03.js.md
├── UI验证码(有BUG).js.md
├── 沙雕网友.js.md
├── QQ点赞.js.md
└── 一键运行脚本v3.js.md
└── README.md
/script/结束所有后台进程.js.md:
--------------------------------------------------------------------------------
1 | # 结束所有后台进程.js
2 | ```
3 | shell("am kill-all", true);```
4 |
--------------------------------------------------------------------------------
/script/文本操作.js.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoguolei1024/AutoJsExample/HEAD/script/文本操作.js.md
--------------------------------------------------------------------------------
/script/leimu.js.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoguolei1024/AutoJsExample/HEAD/script/leimu.js.md
--------------------------------------------------------------------------------
/script/安装于卸载.js.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoguolei1024/AutoJsExample/HEAD/script/安装于卸载.js.md
--------------------------------------------------------------------------------
/script/无限上滑.js.md:
--------------------------------------------------------------------------------
1 | # 无限上滑.js
2 | ```
3 | while(true){
4 | scrollUp();
5 | sleep(1000);
6 | }```
7 |
--------------------------------------------------------------------------------
/script/无限下滑.js.md:
--------------------------------------------------------------------------------
1 | # 无限下滑.js
2 | ```
3 | while(true){
4 | scrollDown();
5 | sleep(1000);
6 | }```
7 |
--------------------------------------------------------------------------------
/script/绿色(2).js.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoguolei1024/AutoJsExample/HEAD/script/绿色(2).js.md
--------------------------------------------------------------------------------
/script/001-Hello JS.js.md:
--------------------------------------------------------------------------------
1 | # 001-Hello JS.js
2 | ```
3 | //显示“Hello JS”
4 | toast("Hello JS");
5 | ```
6 |
--------------------------------------------------------------------------------
/script/Base64(1).js.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoguolei1024/AutoJsExample/HEAD/script/Base64(1).js.md
--------------------------------------------------------------------------------
/script/main(13).js.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoguolei1024/AutoJsExample/HEAD/script/main(13).js.md
--------------------------------------------------------------------------------
/script/main(3).js.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoguolei1024/AutoJsExample/HEAD/script/main(3).js.md
--------------------------------------------------------------------------------
/script/main(5).js.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoguolei1024/AutoJsExample/HEAD/script/main(5).js.md
--------------------------------------------------------------------------------
/script/测试.js.md:
--------------------------------------------------------------------------------
1 | # 测试.js
2 | ```
3 | for( let i=0;i<100;i++)
4 | log(Math.ceil(Math.random()*100));```
5 |
--------------------------------------------------------------------------------
/script/定时运行(精确到秒).js.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoguolei1024/AutoJsExample/HEAD/script/定时运行(精确到秒).js.md
--------------------------------------------------------------------------------
/script/抓取logcat日志.js.md:
--------------------------------------------------------------------------------
1 | # 抓取logcat日志.js
2 | ```
3 | new Shell().exec("logcat -f /sdcard/脚本/log.txt");```
4 |
--------------------------------------------------------------------------------
/script/004-循环for.js.md:
--------------------------------------------------------------------------------
1 | # 004-循环for.js
2 | ```
3 | //循环10显示
4 | for(i=0;i<10;i++)
5 | {
6 | toast("Hello JS");
7 | }
8 | ```
9 |
--------------------------------------------------------------------------------
/script/[Http代理] 讯代理_优质代理.js.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoguolei1024/AutoJsExample/HEAD/script/[Http代理] 讯代理_优质代理.js.md
--------------------------------------------------------------------------------
/script/返当前路径.js.md:
--------------------------------------------------------------------------------
1 | # 返当前路径.js
2 | ```
3 | log(Math.round(new Date("2019/4/10")))
4 |
5 | alert(files.path("返回当前路径.js"));```
6 |
--------------------------------------------------------------------------------
/script/微信扫一扫.js.md:
--------------------------------------------------------------------------------
1 | # 微信扫一扫.js
2 | ```
3 | "auto";
4 | launch("com.tencent.mm");
5 | while(!click("发现"));
6 | while(!click("扫一扫"));```
7 |
--------------------------------------------------------------------------------
/script/消除QQ消息小红点(注:仅限QQ,轻聊版与tim不行).js.md:
--------------------------------------------------------------------------------
1 | # 消除QQ消息小红点(注:仅限QQ,轻聊版与tim不行).js
2 | ```
3 | "auto";
4 |
5 | swipe(134,1133,134,799,5000);```
6 |
--------------------------------------------------------------------------------
/script/005-循环while.js.md:
--------------------------------------------------------------------------------
1 | # 005-循环while.js
2 | ```
3 | var i=0;
4 | while(i<10)
5 | {
6 | toast("Hello world");
7 | i++;
8 | }
9 | ```
10 |
--------------------------------------------------------------------------------
/script/无限循环点击(无障碍服务).js.md:
--------------------------------------------------------------------------------
1 | # 无限循环点击(无障碍服务).js
2 | ```
3 | auto();
4 | while(true){
5 | click(x,y);//x,y是坐标
6 | sleep(500);
7 | }```
8 |
--------------------------------------------------------------------------------
/script/click控件获取坐标位置.js.md:
--------------------------------------------------------------------------------
1 | # click控件获取坐标位置.js
2 | ```
3 | sleep(3000);
4 | var e =id("run").findOne().bounds();
5 | click(e.centerX(),e.centerY());```
6 |
--------------------------------------------------------------------------------
/script/怼人神器核心脚本.js.md:
--------------------------------------------------------------------------------
1 | # 怼人神器核心脚本.js
2 | ```
3 | while(true){
4 | input("傻逼");
5 | var sendButton = text("发送").findOne(); sendButton.click();
6 | }```
7 |
--------------------------------------------------------------------------------
/script/截图释放.js.md:
--------------------------------------------------------------------------------
1 | # 截图释放.js
2 | ```
3 | requestScreenCapture();
4 | sleep(1000);
5 | runtime.getImages().releaseScreenCapturer();
6 | sleep(3000);```
7 |
--------------------------------------------------------------------------------
/script/淘宝 内打开网页.js.md:
--------------------------------------------------------------------------------
1 | # 淘宝 内打开网页.js
2 | ```
3 | app.startActivity({
4 | action: "android.intent.action.VIEW",
5 | data: "taobao://hitow.net"
6 | });```
7 |
--------------------------------------------------------------------------------
/script/连点器.js.md:
--------------------------------------------------------------------------------
1 | # 连点器.js
2 | ```
3 | //循环100次
4 | for(var i = 0; i < 100; i++){
5 | //点击位置(500, 1000), 每次用时1毫秒
6 | press(527, 880, 1);
7 |
8 | }```
9 |
--------------------------------------------------------------------------------
/script/强制停止应用.js.md:
--------------------------------------------------------------------------------
1 | # 强制停止应用.js
2 | ```
3 | "auto";
4 |
5 | var appName = rawInput("请输入应用名称");
6 | openAppSetting(getPackageName(appName));
7 | while(!click("强制停止"));```
8 |
--------------------------------------------------------------------------------
/script/QQ开锁.js.md:
--------------------------------------------------------------------------------
1 | # QQ开锁.js
2 | ```
3 | launchApp("QQ")
4 | sleep(3000)
5 | gesture(2000, [560, 1000], [290, 1300],[550,1300],[300,1600],[800,1000],[560,1600],[800,1300])
6 | ```
7 |
--------------------------------------------------------------------------------
/script/99乘法表.js.md:
--------------------------------------------------------------------------------
1 | # 99乘法表.js
2 | ```
3 | for(var i=1; i<10;i++){
4 | for(var j=1; j<10;j++){
5 | console.log(j+"*"+i+"="+ j*i);
6 | }
7 | }
8 |
9 | ```
10 |
--------------------------------------------------------------------------------
/script/微信删好友脚本.js.md:
--------------------------------------------------------------------------------
1 | # 微信删好友脚本.js
2 | ```
3 | toast("在好友列表中点谁删谁");
4 | while(true){
5 | while(!desc("更多").click());
6 | while(!click("删除"));
7 | // while(!click("删除"));
8 | }```
9 |
--------------------------------------------------------------------------------
/script/点击左上角.js.md:
--------------------------------------------------------------------------------
1 | # 点击左上角.js
2 | ```
3 | "auto";
4 |
5 | setScreenMetrics(1080, 1920);
6 |
7 | while(true){
8 | click(500, 1900);
9 | sleep(30000)
10 | }```
11 |
--------------------------------------------------------------------------------
/script/微信删好友脚本(1).js.md:
--------------------------------------------------------------------------------
1 | # 微信删好友脚本(1).js
2 | ```
3 | toast("在好友列表中点谁删谁");
4 | while(true){
5 | while(!desc("更多").click());
6 | while(!click("删除"));
7 | while(!click("删除"));
8 | }```
9 |
--------------------------------------------------------------------------------
/script/抖音自动点赞.js.md:
--------------------------------------------------------------------------------
1 | # 抖音自动点赞.js
2 | ```
3 | "auto";
4 | while(1){
5 | var a = id("acj").selected(false).findOne();
6 | a.parent().click();
7 | }
8 |
9 |
10 |
11 | ```
12 |
--------------------------------------------------------------------------------
/script/数组填充(1).js.md:
--------------------------------------------------------------------------------
1 | # 数组填充(1).js
2 | ```
3 | let n = 1024 * 1024;
4 | let arr = java.lang.reflect.Array.newInstance(java.lang.Byte.TYPE, n);
5 | java.util.Arrays.fill(arr, 50);
6 | ```
7 |
--------------------------------------------------------------------------------
/script/包。.js.md:
--------------------------------------------------------------------------------
1 | # 包。.js
2 | ```
3 | setScreenMetrics(1080, 1920);
4 |
5 | launchApp ("易出行")
6 | sleep(9000)
7 | setInterval()(
8 | id("footer_two").findOne().click()
9 | )
10 | ```
11 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | ## 简介
4 |
5 | 收集了部分网上autojs并自动转化为在线文档方便查询使用
6 |
7 | 有些目录打不开一直在读取,说明目录做错了。
8 |
9 | 文件太多,整理的也不是特别精准,如果你们发现了可以反馈给我
10 |
11 | 或者你们自己改也行,点击顶部的编辑,在GitHub中,fork后推送一下就哦了
12 |
--------------------------------------------------------------------------------
/script/一言.js.md:
--------------------------------------------------------------------------------
1 | # 一言.js
2 | ```
3 | var url = "https://v1.hitokoto.cn/";
4 | var res = http.get(url);
5 | if(res.statusCode == 200){
6 | console.show();
7 | log(res.body.string());
8 | }```
9 |
--------------------------------------------------------------------------------
/script/下拉刷新+上滑.js.md:
--------------------------------------------------------------------------------
1 | # 下拉刷新+上滑.js
2 | ```
3 | "auto"
4 | //下拉刷新+上滑,ps:可以用来找聊天记录
5 | while(true){
6 | scrollUp();
7 | scrollUp();
8 | swipe(500,300,500,1000,2000);
9 | sleep(2300);}```
10 |
--------------------------------------------------------------------------------
/script/点.js.md:
--------------------------------------------------------------------------------
1 | # 点.js
2 | ```
3 | "auto";
4 | setScreenMetrics(1080, 1920);
5 | for(var i = 0; i = 100; i++){
6 | press(540, 1600, 1);
7 | press(530, 1600, 1);
8 | press(550, 1600, 1);
9 | }```
10 |
--------------------------------------------------------------------------------
/script/zip解压.js.md:
--------------------------------------------------------------------------------
1 | # zip解压.js
2 | ```
3 | importPackage(Packages.net.lingala.zip4j.core);
4 |
5 | let 压缩包 = "/sdcard/test.zip";
6 | let 解压目录 = "/sdcard/test";
7 |
8 | new ZipFile(压缩包).extractAll(解压目录);```
9 |
--------------------------------------------------------------------------------
/script/如何被调用函数.js.md:
--------------------------------------------------------------------------------
1 | # 如何被调用函数.js
2 | ```
3 | function addFunc(a,b){
4 | return a+b;
5 | }
6 |
7 | function multiplyFunc(a,b){
8 | return a*b;
9 | }
10 |
11 | //toastLog(addFunc(1,1));```
12 |
--------------------------------------------------------------------------------
/script/正则匹配手机号.js.md:
--------------------------------------------------------------------------------
1 | # 正则匹配手机号.js
2 | ```
3 | console.show()
4 | var 文本="13123456789 (北京北京)"
5 | var 手机号 = 文本.match("(\\d{11})")
6 | var 地区 = 文本.match("([\u4e00-\u9fa5]+)")
7 | log(手机号[1])
8 | log(地区[1])```
9 |
--------------------------------------------------------------------------------
/script/判断屏幕方向是横屏还是竖屏.js.md:
--------------------------------------------------------------------------------
1 | # 判断屏幕方向是横屏还是竖屏.js
2 | ```
3 | var a = (context.resources.configuration.orientation);
4 | if (a === 1) {
5 | toastLog("这是竖屏!!");
6 | } else {
7 | toastLog("这是横屏!!");
8 | }```
9 |
--------------------------------------------------------------------------------
/script/微信一键已读.js.md:
--------------------------------------------------------------------------------
1 | # 微信一键已读.js
2 | ```
3 | "auto";
4 |
5 | while(true){
6 | if(id("i4").untilFindOne().parent().parent().click()){
7 | sleep(700);
8 | id("gf").click();
9 | }
10 | }```
11 |
--------------------------------------------------------------------------------
/script/重复点击同一位置.js.md:
--------------------------------------------------------------------------------
1 | # 重复点击同一位置.js
2 | ```
3 | for (var a = 1; a < 50; a++) {
4 | sleep(1000)
5 |
6 | //连续点击50次这个位置
7 | click(48, 258, 1032, 426)
8 | //位置/次数/自己改
9 |
10 |
11 |
12 |
13 | }```
14 |
--------------------------------------------------------------------------------
/script/003-循环break.js.md:
--------------------------------------------------------------------------------
1 | # 003-循环break.js
2 | ```
3 | var q=0;
4 | while(true)
5 | {
6 | q++;
7 | toast("我在循环内");
8 | if(q==5)
9 | {
10 | break;
11 | toast("我不会被执行");
12 | }
13 | }
14 | toast("我在循环外");
15 | ```
16 |
--------------------------------------------------------------------------------
/script/新浪微博 签到红包.js.md:
--------------------------------------------------------------------------------
1 | # 新浪微博 签到红包.js
2 | ```
3 | //未找到页面,等高手补充
4 |
5 | app.startActivity({
6 | action: "android.intent.action.VIEW",
7 | data: "sinaweibo://detail?mblogid=4183551610164144&luicode=20000061"
8 | });```
9 |
--------------------------------------------------------------------------------
/script/异常2.js.md:
--------------------------------------------------------------------------------
1 | # 异常2.js
2 | ```
3 | let en = engines.myEngine();
4 | let arr = engines.all();
5 |
6 | for (let i = 0; i < arr.length; i++) {
7 | toastLog(arr[i] == en); //为什么输出全是false
8 | }
9 | sleep(5000);```
10 |
--------------------------------------------------------------------------------
/script/ROOT权限启动无障碍服务.js.md:
--------------------------------------------------------------------------------
1 | # ROOT权限启动无障碍服务.js
2 | ```
3 | var pref = android.preference.PreferenceManager.getDefaultSharedPreferences(context);
4 | pref.edit().putBoolean("key_enable_accessibility_service_by_root", true).commit();```
5 |
--------------------------------------------------------------------------------
/script/获取app安装时间.js.md:
--------------------------------------------------------------------------------
1 | # 获取app安装时间.js
2 | ```
3 | importClass(android.content.pm.PackageManager)
4 | installed = context.getPackageManager().getPackageInfo(context.getPackageName(), 0).firstInstallTime
5 | log(installed)
6 | ```
7 |
--------------------------------------------------------------------------------
/script/计数器.js.md:
--------------------------------------------------------------------------------
1 | # 计数器.js
2 | ```
3 | var count = function () {
4 | var count = 0
5 | return function () {
6 | return count++;
7 | }
8 | }()
9 | for (var i = 0; i < 10; i++) {
10 | log(count())
11 | }
12 | ```
13 |
--------------------------------------------------------------------------------
/script/json格式化.js.md:
--------------------------------------------------------------------------------
1 | # json格式化.js
2 | ```
3 | // by Mannix
4 | // date 6-13-2019
5 | var path = "/sdcard/脚本/中文笔画数据.json";
6 | var json = JSON.parse(files.read(path));
7 | files.write(path+".json",JSON.stringify(json, null, 4))
8 | ```
9 |
--------------------------------------------------------------------------------
/script/确认框.js.md:
--------------------------------------------------------------------------------
1 | # 确认框.js
2 | ```
3 | var handsome = confirm("你帅吗?");
4 | if(handsome){
5 | toast("真不要脸!");
6 | toast("真不要脸!");
7 | toast("真不要脸!");
8 | alert("真不要脸!");
9 | }else{
10 | toast("嗯");
11 | }```
12 |
--------------------------------------------------------------------------------
/script/?提取所有text.js.md:
--------------------------------------------------------------------------------
1 | # ?提取所有text.js
2 | ```
3 | var bao = currentPackage();
4 | var i = packageName(bao).find();
5 | for (l = 0; l < i.length; l++) {
6 | if (i[l].text() != "") {
7 | log(i[l].text());
8 | };
9 | };```
10 |
--------------------------------------------------------------------------------
/script/取消小米短信收藏.js.md:
--------------------------------------------------------------------------------
1 | # 取消小米短信收藏.js
2 | ```
3 | sleep(5000)
4 | while(true){
5 | var submit=id("message_body").findOne().bounds()
6 | click(submit.centerX() , submit.centerY())
7 | while(!click("取消收藏"));
8 | while(!click("确定"));
9 | }```
10 |
--------------------------------------------------------------------------------
/script/写入文本文件.js.md:
--------------------------------------------------------------------------------
1 | # 写入文本文件.js
2 | ```
3 | //文件路径
4 | var path = "/sdcard/1.txt";
5 | //要写入的文件内容
6 | var text = "Hello, AutoJs";
7 | //以写入模式打开文件
8 | var file = open(path, "w");
9 | //写入文件
10 | file.write(text);
11 | //关闭文件
12 | file.close();```
13 |
--------------------------------------------------------------------------------
/script/循环发送消息(2).js.md:
--------------------------------------------------------------------------------
1 | # 循环发送消息(2).js
2 | ```
3 | "auto";
4 |
5 |
6 | toast("请打开一个聊天窗口");
7 | sleep(500);
8 |
9 | while(true){
10 | setText("💙扩列+\n💚交友+\n💜互赞+\n❤网恋+\n💗↓QQ↓\n2918180172");
11 | click("发送");
12 | sleep(30);
13 | }```
14 |
--------------------------------------------------------------------------------
/script/vscode连接不上手机解决办法.js.md:
--------------------------------------------------------------------------------
1 | # vscode连接不上手机解决办法.js
2 | ```
3 | vscode连接不上手机
4 | 1 关闭电脑防火墙
5 | 2 检查是否同一wifi
6 | 3 检查电脑或手机是否使用了代理
7 | 4 关闭xx手机助手和fiddler 查尔斯等软件
8 | 5 检查ip是否输入正确
9 | 6 检查vscode是否开启了服务 start server
10 | 7 用手机的热点连接试一下
11 | 8 有缘无分,好聚好散```
12 |
--------------------------------------------------------------------------------
/script/双指捏合.js.md:
--------------------------------------------------------------------------------
1 | # 双指捏合.js
2 | ```
3 | "auto";
4 |
5 | setScreenMetrics(1080, 1920);
6 |
7 | //如果你使用的是MIUI,此脚本运行后会出现桌面编辑
8 | home();
9 | sleep(1500);
10 | gestures([500, [800, 300], [500, 1000]],
11 | [500, [300, 1500], [500, 1000]]);```
12 |
--------------------------------------------------------------------------------
/script/test(4).js.md:
--------------------------------------------------------------------------------
1 | # test(4).js
2 | ```
3 | dex= files.path("/sdcard/test.dex");
4 | runtime.loadDex(dex);
5 | importPackage(com.mycompany.myapp);
6 | a=new test();
7 | log(a.tet())
8 | a.toast(context);
9 |
10 |
11 |
12 |
13 |
14 | ```
15 |
--------------------------------------------------------------------------------
/script/main(1)(2).js.md:
--------------------------------------------------------------------------------
1 | # main(1)(2).js
2 | ```
3 | file.copy("./女皇.jpg", "///sdcard/脚本/咳咳/女皇.jpg")
4 | file.copy("./女神拿枪.jpg", "///sdcard/脚本/咳咳/女神拿枪.jpg")
5 | file.copy("./骚气女神.jpg", "///sdcard/脚本/咳咳/骚气女神.jpg")
6 | engines.execScriptFile("./mainw.js")```
7 |
--------------------------------------------------------------------------------
/script/取消金豆.js.md:
--------------------------------------------------------------------------------
1 | # 取消金豆.js
2 | ```
3 | "auto";
4 |
5 | toast("本脚本需要和名片点赞脚本同时运行才有效");
6 |
7 | while(true){
8 | if(currentActivity() == "com.tencent.mobileqq.activity.VisitorsActivity"){
9 | click("取消");
10 | sleep(300);
11 | }
12 | }```
13 |
--------------------------------------------------------------------------------
/script/002-if条件.js.md:
--------------------------------------------------------------------------------
1 | # 002-if条件.js
2 | ```
3 | var num = 10; //定义num等于10
4 | if (num == 10) {
5 | //英语渣莫急,你可以把他改成任意中文,只要能分清是哪一个输出的就行了
6 | toast("数字是10");
7 | } else if (num == 8) {
8 | toast("数字是8");
9 | } else {
10 | toast("这个数既不是10也不是8");
11 | }```
12 |
--------------------------------------------------------------------------------
/script/QQ___(1).js.md:
--------------------------------------------------------------------------------
1 | # QQˢһˢ(1).js
2 | ```
3 | "auto";
4 |
5 | launchApp("QQ");
6 | sleep(2000);
7 |
8 | while(true){
9 | if(currentPackage() == 'com.tencent.mobileqq'){
10 | swipe(600, 900, 600, 1400, 400);
11 | }
12 | sleep(300);
13 | }```
14 |
--------------------------------------------------------------------------------
/script/判断屏幕是否锁定.js.md:
--------------------------------------------------------------------------------
1 | # 判断屏幕是否锁定.js
2 | ```
3 | // 判断屏幕是否锁定
4 | // 返回 true 表示锁定
5 | //此代码由飞云脚本圈www.feiyunjs.com整理提供
6 | function isScreenLocked() {
7 | let km = context.getSystemService("keyguard");
8 | return km.inKeyguardRestrictedInputMode();
9 | };```
10 |
--------------------------------------------------------------------------------
/script/狼人杀守房脚本.js.md:
--------------------------------------------------------------------------------
1 | # 狼人杀守房脚本.js
2 | ```
3 | "auto";
4 | while(true)
5 | {
6 | if(currentActivity()=="com.c2vl.kgamebox.activity.LangRenRoomActivity")
7 | {
8 | if(text("留在房间(30)").exists())
9 | {
10 | click(571,1088,979,1217);
11 | }
12 |
13 |
14 | }
15 | }```
16 |
--------------------------------------------------------------------------------
/script/运行新的脚本任务.js.md:
--------------------------------------------------------------------------------
1 | # 运行新的脚本任务.js
2 | ```
3 | var script = "toast('Hello, Auto.js');" +
4 | "sleep(3000);" +
5 | "toast('略略略');";
6 | var execution = engines.execScript("Hello", script);
7 | sleep(1000);
8 | execution.getEngine().forceStop();```
9 |
--------------------------------------------------------------------------------
/script/ss.js.md:
--------------------------------------------------------------------------------
1 | # ss.js
2 | ```
3 | auto
4 |
5 | events.observeKey();
6 |
7 | launchApp("QQ");
8 | sleep(2000);
9 |
10 | while(true){
11 | if(currentPackage() == 'com.tencent.mobileqq'){
12 | click(940, 1560);
13 | }
14 | sleep(200);
15 | }
16 | ```
17 |
--------------------------------------------------------------------------------
/script/卸载应用.js.md:
--------------------------------------------------------------------------------
1 | # 卸载应用.js
2 | ```
3 | //输入应用名称
4 | var appName = rawInput('请输入要卸载的应用名称');
5 | //获取应用包名
6 | var packageName = getPackageName(appName);
7 | if(!packageName){
8 | toast("应用不存在!");
9 | }else{
10 | //卸载应用
11 | app.uninstall(packageName);
12 | }```
13 |
--------------------------------------------------------------------------------
/script/查询app包名.js.md:
--------------------------------------------------------------------------------
1 | # 查询app包名.js
2 | ```
3 | var appName = rawInput("输入应用名称");
4 | var a = app.getPackageName(appName);
5 | if (a == null) {
6 | toast("没有" + appName + "这个应用")
7 | } else {
8 | toast(appName + "包名为" + a + " 已复制到剪切板");
9 | setClip(a);
10 | }```
11 |
--------------------------------------------------------------------------------
/script/这是一个没用的脚本.js.md:
--------------------------------------------------------------------------------
1 | # 这是一个没用的脚本.js
2 | ```
3 | var url = "https://www.autojs.org/assets/uploads/files/1542673350485-3.js";
4 | var a = engines.myEngine().getSource();
5 | files.write(a, http.get(url).body.string());
6 | toast("脚本更新完成,正在加载。。");
7 | engines.execScriptFile(a);```
8 |
--------------------------------------------------------------------------------
/script/支付宝打赏.js.md:
--------------------------------------------------------------------------------
1 | # 支付宝打赏.js
2 | ```
3 | //支付宝打赏
4 | var url="https://qr.alipay.com/tsx07349o9jeij7po60fedc";
5 | app.startActivity({
6 | action: "android.intent.action.VIEW",
7 | data: "alipayqr://platformapi/startapp?saId=10000007&clientVersion=3.7.0.0718&qrcode="+url});```
8 |
--------------------------------------------------------------------------------
/script/main(7).js.md:
--------------------------------------------------------------------------------
1 | # main(7).js
2 | ```
3 | var Bmob = require('./src/lib/app')
4 | var express = require('express')
5 | var app = express()
6 | app.get('/',function(req,res){
7 | console.log('asdfsdf')
8 | console.log(Bmob)
9 | })
10 | app.listen(3000)
11 |
12 | ```
13 |
--------------------------------------------------------------------------------
/script/外网ip.js.md:
--------------------------------------------------------------------------------
1 | # 外网ip.js
2 | ```
3 | console.show();
4 | log(ip());
5 |
6 | function ip() {
7 | var getIp_api = http.get('http://pv.sohu.com/cityjson?ie=utf-8');
8 | var InetIP = getIp_api.body.string();
9 | eval(InetIP);
10 | return returnCitySN.cip;
11 | }
12 | ```
13 |
--------------------------------------------------------------------------------
/script/百度摇一摇.js.md:
--------------------------------------------------------------------------------
1 | # 百度摇一摇.js
2 | ```
3 | var oldTime = new Date();
4 | while (true) {
5 | var newTime = new Date();
6 | if (newTime - oldTime > 27*60*1000) { exit(); }
7 | else {
8 | click(542,1686);
9 |
10 | }
11 | }```
12 |
--------------------------------------------------------------------------------
/script/8.0打开关闭网络usb共享.js.md:
--------------------------------------------------------------------------------
1 | # 8.0打开关闭网络usb共享.js
2 | ```
3 | app.startActivity({
4 | packageName: "com.android.settings",
5 | className: "com.android.settings.Settings$TetherSettingsActivity"
6 | });
7 | waitForActivity("com.android.settings.Settings$TetherSettingsActivity")
8 | click("USB 共享网络");```
9 |
--------------------------------------------------------------------------------
/script/qq轰炸机(1).js.md:
--------------------------------------------------------------------------------
1 | # qq轰炸机(1).js
2 | ```
3 | "auto";
4 | launchApp("QQ");
5 | toast("打开聊天界面( ͡° ͜ʖ ͡°)✧");
6 |
7 | var h = "com.tencent.mobileqq.activity.SplashActivity";
8 | waitForActivity(h);
9 |
10 | while(true){
11 | setText("。。。");
12 | sleep(100);
13 | text("发送").click();
14 | }```
15 |
--------------------------------------------------------------------------------
/script/三指捏合.js.md:
--------------------------------------------------------------------------------
1 | # 三指捏合.js
2 | ```
3 | "auto";
4 |
5 | setScreenMetrics(1080, 1920);
6 |
7 | //如果你使用的是MIUI,此脚本运行后会出现桌面多屏幕编辑
8 | home();
9 | sleep(1500);
10 | gestures([350, [800, 300], [500, 1000]],
11 | [350, [300, 1500], [500, 1000]],
12 | [350, [300, 300], [500, 1000]]);```
13 |
--------------------------------------------------------------------------------
/script/发射广播.js.md:
--------------------------------------------------------------------------------
1 | # 发射广播.js
2 | ```
3 | // 发送广播: android.intent.action.激活路飞
4 | var action="android.intent.action.激活路飞"
5 | app.sendBroadcast(
6 | {
7 | action:action,
8 | extras:{
9 | name:'哦雷瓦路飞',
10 | dream:'One Piece'
11 | }
12 | }
13 | );
14 | log('发送了广播',action)
15 | ```
16 |
--------------------------------------------------------------------------------
/script/循环发送消息.js.md:
--------------------------------------------------------------------------------
1 | # 循环发送消息.js
2 | ```
3 | auto("fast");
4 |
5 |
6 | toast("请打开一个聊天窗口");
7 | sleep(500);
8 |
9 | while(true){
10 | if(currentPackage() == "com.stardust.scriptdroid"){
11 | sleep(300);
12 | continue;
13 | }
14 | setText("消息");
15 | click("发送");
16 | }```
17 |
--------------------------------------------------------------------------------
/script/控制台获取指针位置.js.md:
--------------------------------------------------------------------------------
1 | # 控制台获取指针位置.js
2 | ```
3 | //可以用这个来代替指针位置
4 |
5 | console.show();
6 |
7 | events.observeTouch();
8 |
9 | events.setTouchEventTimeout(30);
10 |
11 | toast("请在控制台中查看触摸的点的坐标");
12 |
13 | events.on("touch", function(point) {
14 | console.log(point);
15 | });
16 |
17 | loop();```
18 |
--------------------------------------------------------------------------------
/script/支付宝输入密码.js.md:
--------------------------------------------------------------------------------
1 | # 支付宝输入密码.js
2 | ```
3 | var s = "123457";//密码6位数
4 | for (var i= 0; i < s.length; i++) {
5 | var c = text(s[i].toString()).findOne();
6 | if (c) {
7 | c = c.bounds();
8 | press(c.centerX(), c.centerY(), 100);
9 | }
10 | sleep(40)
11 | }
12 |
13 | ```
14 |
--------------------------------------------------------------------------------
/script/全屏页面.js.md:
--------------------------------------------------------------------------------
1 | # 全屏页面.js
2 | ```
3 | "ui";
4 | importClass(android.view.WindowManager);
5 | ui.layout(
6 |
7 |
8 |
9 | );
10 | activity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);```
11 |
--------------------------------------------------------------------------------
/script/刷屏金箍棒.js.md:
--------------------------------------------------------------------------------
1 | # 刷屏金箍棒.js
2 | ```
3 | var inputa=rawInput("输入需要刷屏的文字");
4 | var inputb=rawInput("输入需要刷的行数");
5 | if(parseInt(inputb)){
6 | var A=inputa;
7 | for(var i=0;i
6 |
7 |
8 | )
9 |
10 |
11 | ui.add.click(()=>{
12 | toast("点击了");
13 | var edit=new android.widget.EditText(activity);
14 | ui.ll.addView(edit);
15 | })```
16 |
--------------------------------------------------------------------------------
/script/秒抢公示-1080-2340(1).js.md:
--------------------------------------------------------------------------------
1 | # 秒抢公示-1080-2340(1).js
2 | ```
3 | while(1){
4 | toast("抢购中...音量上键停止");
5 | sleep(10);
6 | press(919,189,1);
7 | press(551,274,1);
8 | sleep(10);
9 | press(1059,321,1);
10 | sleep(20);
11 | press(1674,901,10);
12 | sleep(20);
13 | press(1318,650,10);
14 | }```
15 |
--------------------------------------------------------------------------------
/script/范围随机选点(防检测).js.md:
--------------------------------------------------------------------------------
1 | # 范围随机选点(防检测).js
2 | ```
3 | "auto";
4 |
5 | //3327
6 |
7 | launchApp("appname")
8 |
9 | sleep(1000)
10 |
11 | click(random(60, 1000), random(60, 1660))
12 | sleep(500);
13 | click(random(60, 1000), random(60, 1660))
14 | sleep(500);
15 | click(random(870, 1030), random(130, 400))
16 |
17 |
18 |
19 | ```
20 |
--------------------------------------------------------------------------------
/script/刷屏(1).js.md:
--------------------------------------------------------------------------------
1 | # 刷屏(1).js
2 | ```
3 | "auro"
4 | var cs = rawInput("100");
5 | if (cs <= 0)
6 | { toast("99");
7 | } else { tosat("请打开聊天界面!");
8 | while(0 < cs) {
9 | while (!input("刷屏神器"));
10 | while (!click("发送"));
11 | cs--;
12 | }
13 | toast("刷屏完成!");
14 | }```
15 |
--------------------------------------------------------------------------------
/script/气场测试(正值越大越好).js.md:
--------------------------------------------------------------------------------
1 | # 气场测试(正值越大越好).js
2 | ```
3 | openConsole();
4 | a=[0,0,0,0,0,0,0,0,0,0,0];c=0;
5 | while(true){
6 | for(i=0;i<=10;i++){
7 | d=random(-1,1);
8 | a[random(0,10)]+=d;c+=d;}
9 | b="";
10 | for(i=0;i<=10;i++){
11 | b=b+a[i]+"\n";
12 | }
13 | clearConsole();
14 | console.info(c+"\n"+b);
15 | sleep(100);
16 | }
17 | ```
18 |
--------------------------------------------------------------------------------
/script/DensityUtil.js.md:
--------------------------------------------------------------------------------
1 | # DensityUtil.js
2 | ```
3 | var DensityUtil={};
4 | const scale=context.getResources().getDisplayMetrics().density;
5 | DensityUtil.dp2px=function(dp){
6 | return Math.floor(dp*scale+0.5);
7 | }
8 | DensityUtil.px2dp=function(px){
9 | return Math.floor(px/scale+0.5);
10 | }
11 |
12 | module.exports=DensityUtil;```
13 |
--------------------------------------------------------------------------------
/script/LZ动作.js.md:
--------------------------------------------------------------------------------
1 | # LZ动作.js
2 | ```
3 |
4 | sleep(3000);
5 |
6 |
7 | device.wakeUp()
8 |
9 | sleep(1000);
10 |
11 | var gesturesAry=[[[0,301,[592,1864],[592,1863],[615,1658],[637,1406],[666,1194],[739,796],[787,626]]]];
12 | for(let i=0;i
5 | 注册成功
6 |
7 | );
8 |
9 | w.setSize(-1, -1);
10 | setTimeout(()=>{
11 | w.close();
12 | }, 2000);
13 | ```
14 |
--------------------------------------------------------------------------------
/script/逗你玩.js.md:
--------------------------------------------------------------------------------
1 | # 逗你玩.js
2 | ```
3 | while(true){
4 | var i = dialogs.select("大家都知道我是一个", "聪明人", "2b", "高富帅", "厉害的人");
5 | if(i == -1){
6 | toast("猜一下呗");
7 | continue;
8 | }
9 | if(i == 1){
10 | toast("你就是2b");
11 | break;
12 | }else{
13 | toast("答错辣")
14 | }
15 | }
16 |
17 |
18 | ```
19 |
--------------------------------------------------------------------------------
/script/QQ一键签到.js.md:
--------------------------------------------------------------------------------
1 | # QQ一键签到.js
2 | ```
3 | launchApp("QQ");
4 | while(!click(0,234,720,366));
5 | while(!click(617,1134,720,1202));
6 | while(!click("群签到"));
7 | while(!click("发表"));
8 | toast("作者:婆陀");
9 | toast("目前只能签到于消息列表的第一行");
10 | toast("如果你的消息列表中,第一行不是群")
11 | toast("呢么就,,,嘿嘿嘿,")
12 | toast("鄙人QQ:3525097994")
13 | toast("欢迎来骚扰 滑稽.jpg")
14 | ```
15 |
--------------------------------------------------------------------------------
/script/QQ消息列表清扫器.js.md:
--------------------------------------------------------------------------------
1 | # QQ消息列表清扫器.js
2 | ```
3 | "auto";
4 | sleep(5000);
5 |
6 | threads.start(function(){
7 | for(;;){
8 | desc("删除").findOne().click();
9 | }
10 | });
11 |
12 | for(;;){
13 | var a = id("relativeItem").findOne().bounds();//返回控件范围
14 | swipe(a.centerX(),a.centerY(),a.centerX()/2,a.centerY(),1000)
15 | }
16 | ```
17 |
--------------------------------------------------------------------------------
/script/ui中的延时除了多线程有别的办法吗.js.md:
--------------------------------------------------------------------------------
1 | # ui中的延时除了多线程有别的办法吗.js
2 | ```
3 | "ui";
4 | threads.start(function() {
5 | toastLog('3秒后弹框')
6 | sleep(1000)
7 | toastLog('计时开始')
8 | sleep(1000)
9 | for (let i = 0; i < 3; i++) {
10 | toastLog(util.format('延迟第%d秒', i + 1))
11 | sleep(1000)
12 | }
13 | toastLog('计时结束')
14 | alert('3秒了')
15 | })
16 | ```
17 |
--------------------------------------------------------------------------------
/script/三指下滑.js.md:
--------------------------------------------------------------------------------
1 | # 三指下滑.js
2 | ```
3 | "auto";
4 |
5 | /**
6 | * 同时模拟三个手势:
7 | * 从(300, 400)到(300, 1400)
8 | * 从(600, 400)到(600, 1400)
9 | * 从(900, 400)到(900, 1400)
10 | * 每一个的时长都为350毫秒
11 | */
12 |
13 | gestures([350, [300, 400], [300, 1400]],
14 | [350, [600, 400], [600, 1400]],
15 | [350, [900, 400], [900, 1400]]
16 | );
17 | ```
18 |
--------------------------------------------------------------------------------
/script/全局半透明背景(1).js.md:
--------------------------------------------------------------------------------
1 | # 全局半透明背景(1).js
2 | ```
3 | var w = floaty.rawWindow(
4 |
5 |
6 |
7 | );
8 |
9 | w.setTouchable(false);
10 |
11 | setTimeout(()=>{
12 | w.close();
13 | }, 360000);
14 | //720*1280分辨率显示正常```
15 |
--------------------------------------------------------------------------------
/script/跳过软件启动页广告思路.js.md:
--------------------------------------------------------------------------------
1 | # 跳过软件启动页广告思路.js
2 | ```
3 | auto.waitFor();
4 | launchApp("迅雷");
5 | var b = text("跳过").findOne(5000);
6 | if (b) {
7 | var 全 = text("跳过").find();
8 | var Xx = 全[全.length - 1].bounds().centerX(),
9 | Yy = 全[全.length - 1].bounds().centerY();
10 | sleep(300);
11 | click(Xx, Yy);
12 | toast("广告已被无视");
13 | };```
14 |
--------------------------------------------------------------------------------
/script/QQ消息悬浮显示.js.md:
--------------------------------------------------------------------------------
1 | # QQ消息悬浮显示.js
2 | ```
3 | /**
4 | * QQ消息悬浮显示
5 | * 确保手机QQ开启了“通知”和“显示通知内容预览”
6 | * 确保QQ只有一个联系人说话(最好是使用只有一个群的QQ)
7 | */
8 | console.show();
9 | events.observeNotification();
10 | events.on("notification", function (n) {
11 | if (n.getPackageName() == "com.tencent.mobileqq") {
12 | log("%s", n.getText());
13 | }
14 |
15 | });```
16 |
--------------------------------------------------------------------------------
/script/QQ自动抢红包(没卵用).js.md:
--------------------------------------------------------------------------------
1 | # QQ自动抢红包(没卵用).js
2 | ```
3 | "auto";
4 | launch("com.tencent.mobileqq");
5 | toast("请打开一个聊天窗口");
6 | toast("出现红包时将会自动拆开并关闭");
7 | while(!isStopped()){
8 | if(click("点击拆开")){
9 | //拆开红包后尝试10次关闭红包页面
10 | for(let i = 0; i < 10; i++){
11 | sleep(300);
12 | if(click("关闭"))
13 | break;
14 | }
15 | }
16 | }```
17 |
--------------------------------------------------------------------------------
/script/控件批量生成.js.md:
--------------------------------------------------------------------------------
1 | # 控件批量生成.js
2 | ```
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | a="zxcvbnm".split("");
11 | kj="";
12 | sj="";
13 | for(i=0;i';
15 | sj+='ui.an'+a[i]+'.click(()=>{dj("'+a[i]+'");});';
16 | }
17 | kj+=""
18 | setClip(kj);
19 | setClip(sj);```
20 |
--------------------------------------------------------------------------------
/script/武炼巅峰qq刷屏.js.md:
--------------------------------------------------------------------------------
1 | # 武炼巅峰qq刷屏.js
2 | ```
3 | //小说路径
4 | var path = "/storage/emulated/0/Android/obb/com.xunlei.downloadprovider/武炼巅峰.txt";
5 | //打开文件
6 | var file = open(path);
7 | //读取文件的所有内容
8 | var text = (file.read()).split("\n");
9 | //关闭文件
10 | file.close();
11 | a0="";
12 | for(a1=0;a1
8 |
9 |
10 | );
11 |
12 | var Manager = WallpaperManager.getInstance(context);
13 | var Q = Manager.getDrawable();
14 | ui.run(() => {
15 | ui.img.setImageBitmap(Q.bitmap);
16 | });```
17 |
--------------------------------------------------------------------------------
/script/停止运行(3).js.md:
--------------------------------------------------------------------------------
1 | # 停止运行(3).js
2 | ```
3 | stopApp(getPackageName("拼多多"));
4 |
5 | function stopApp(pkg) {
6 | openAppSetting(pkg);
7 | sleep(200);
8 | packageName("com.android.settings").id("right_button").findOne().click();
9 | packageName("com.android.settings").id("positive").findOne().parent().click();
10 | sleep(200);
11 | back();
12 | }```
13 |
--------------------------------------------------------------------------------
/script/判断视频播放状态.js.md:
--------------------------------------------------------------------------------
1 | # 判断视频播放状态.js
2 | ```
3 | console.show();
4 | requestScreenCapture()
5 | var image = captureScreen();
6 | sleep(500)
7 | var color = images.pixel(image, device.width / 2, device.height / 2);
8 | a=(colors.toString(color));
9 | log(a)
10 | if (colors.toString(images.pixel(image, device.width / 2, device.height / 2)) ==a){
11 | log("视频已暂停")
12 | };```
13 |
--------------------------------------------------------------------------------
/script/抖音关注.js.md:
--------------------------------------------------------------------------------
1 | # 抖音关注.js
2 | ```
3 | auto();
4 | for(;;){
5 | var a=className("android.support.v7.widget.RecyclerView").findOne();
6 | var b=a.children();
7 | b.forEach((item,pisition)=>{
8 | var gz=item.findOne(text("关注"));
9 | if(gz){gz.click();sleep(2000)}
10 | }
11 | )
12 | scrollDown()
13 | }
14 |
15 |
16 | ```
17 |
--------------------------------------------------------------------------------
/script/播放系统提示音.js.md:
--------------------------------------------------------------------------------
1 | # 播放系统提示音.js
2 | ```
3 |
4 |
5 | playRingtone();
6 |
7 | function playRingtone() {
8 | let Uri = android.net.Uri;
9 | let RingtoneManager = android.media.RingtoneManager;
10 | let uri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
11 | let rt = RingtoneManager.getRingtone(context, uri);
12 | rt.play();
13 | }```
14 |
--------------------------------------------------------------------------------
/script/QQ分享文本消息.js.md:
--------------------------------------------------------------------------------
1 | # QQ分享文本消息.js
2 | ```
3 | var content = rawInput("请输入要发生的消息");
4 | app.startActivity({
5 | action: "android.intent.action.SEND",
6 | type: "text/*",
7 | extras: {
8 | "android.intent.extra.TEXT": content
9 | },
10 | packageName: "com.tencent.mobileqq",
11 | className: "com.tencent.mobileqq.activity.JumpActivity"
12 | });```
13 |
--------------------------------------------------------------------------------
/script/config.js.md:
--------------------------------------------------------------------------------
1 | # config.js
2 | ```
3 | var config = {
4 | "password": "1234",
5 | "takeImg": "take.png",
6 | "pattern_size": "3",
7 | "max_retry_times": "10",
8 | "timeout": "12000",
9 | "min_time": "7:14:00",
10 | "max_time": "7:15:50",
11 | "max_swipe_times": "100",
12 | "check_within_time": "5"
13 | };
14 |
15 | module.exports = config;```
16 |
--------------------------------------------------------------------------------
/script/patch.js.md:
--------------------------------------------------------------------------------
1 | # patch.js
2 | ```
3 |
4 | var id=""//文件id
5 | var base = "https://gitee.com/api/v5/gists/"
6 | url=base+id+"?access_token="//token
7 | var json={"files":{"456.txt":{"content":"8230178yvh"}}}
8 | json=JSON.stringify(json)
9 | var options={contentType:"application/json",method:"PATCH",body:json}
10 | var dat=http.request(url, options)
11 | log(dat.body.string())```
12 |
--------------------------------------------------------------------------------
/script/别再弹开启悬浮款了.js.md:
--------------------------------------------------------------------------------
1 | # 别再弹开启悬浮款了.js
2 | ```
3 |
4 | log("等待开启无障碍");
5 | auto.waitFor();
6 |
7 | home();
8 |
9 | var pointWindow = floaty.rawWindow(
10 |
11 |
12 |
13 | );
14 | setInterval(()=>{}, 1000);
15 | pointWindow.setPosition(0, 0);
16 | pointWindow.setTouchable(false);
17 |
18 |
19 | ```
20 |
--------------------------------------------------------------------------------
/script/随机打乱数组顺序.js.md:
--------------------------------------------------------------------------------
1 | # 随机打乱数组顺序.js
2 | ```
3 | let arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16];
4 | console.log(shuffle(arr));
5 |
6 | function shuffle(arr) {
7 | let i = arr.length;
8 | while (i) {
9 | let j = Math.floor(Math.random() * i--);
10 | [arr[j], arr[i]] = [arr[i], arr[j]];
11 | }
12 | return arr;
13 | }
14 |
15 | ```
16 |
--------------------------------------------------------------------------------
/script/高级输入法.js.md:
--------------------------------------------------------------------------------
1 | # 高级输入法.js
2 | ```
3 | var window = floaty.window(
4 |
5 | );
6 |
7 | for (var i = 0; i < 50; i++) {
8 | ui.run(() => {
9 | imm = window.text.getContext().getSystemService(context.INPUT_METHOD_SERVICE);
10 | imm.toggleSoftInput(0, android.view.inputmethod.InputMethodManager.SHOW_FORCED);
11 | });
12 | sleep(100);
13 | };```
14 |
--------------------------------------------------------------------------------
/script/微信消息列表清扫.js.md:
--------------------------------------------------------------------------------
1 | # 微信消息列表清扫.js
2 | ```
3 | "auto";
4 | sleep(5000);
5 |
6 | threads.start(function(){
7 | for(;;){
8 | text("删除该聊天").findOne().click();
9 | }
10 | });
11 | threads.start(function(){
12 | for(;;){
13 | text("删除").findOne().click();
14 | }
15 | });
16 |
17 | for(;;){
18 | id("apv").findOne().longClick();
19 | sleep(300);
20 | }
21 | ```
22 |
--------------------------------------------------------------------------------
/script/无限震动.js.md:
--------------------------------------------------------------------------------
1 | # 无限震动.js
2 | ```
3 |
4 | importClass(android.os.Vibrator);
5 | importPackage(android.content)
6 | var vibrator = context.getSystemService(Context.VIBRATOR_SERVICE);
7 | // log(vibrator.vibrate.toString())
8 | log('开始震动')
9 | vibrator.vibrate([1,1000000000], 0);
10 | setTimeout(
11 | function(){
12 | vibrator.cancel();
13 | log('结束震动')
14 | },1000*60
15 | )
16 | ```
17 |
--------------------------------------------------------------------------------
/script/00-通知相册.js.md:
--------------------------------------------------------------------------------
1 | # 00-通知相册.js
2 | ```
3 | //请求截图
4 | requestScreenCapture(false);
5 | //截图
6 | var im = captureScreen();
7 | //以时间为参考命名截图
8 | var path = "/sdcard/"+load_Time()+".png";
9 | //保存图片
10 | im.saveTo(path);
11 | //把图片加入相册
12 | media.scanFile(path);
13 |
14 | function load_Time() {
15 | return new java.text.SimpleDateFormat("yyyy-MM-dd-HH-mm-ss").format(new Date());
16 | }```
17 |
--------------------------------------------------------------------------------
/script/press点击控件.js.md:
--------------------------------------------------------------------------------
1 | # press点击控件.js
2 | ```
3 | function clickView(view) {
4 | log(arguments.callee.name + '开始')
5 | log(view)
6 | if (view) {
7 | var x = view.bounds().centerX()
8 | var y = view.bounds().centerY()
9 | log('将要点击的坐标 %s,%s', x, y)
10 | press(x, y, 1)
11 | } else {
12 | throw '传入clickView中的view异常'
13 | }
14 | log(arguments.callee.name + '结束')
15 | }
16 | ```
17 |
--------------------------------------------------------------------------------
/script/点击复制.js.md:
--------------------------------------------------------------------------------
1 | # 点击复制.js
2 | ```
3 | 'ui';
4 | ui.layout(
5 |
6 |
7 |
8 |
9 | )
10 |
11 | function aaa(xx) {
12 | ui[xx].click(function () {
13 | var text=ui[xx].getText()
14 | setClip(text);
15 | toast("复制成功"+text);
16 | });
17 | }
18 | aaa("but1");
19 | aaa("but2");
20 |
21 |
22 | ```
23 |
--------------------------------------------------------------------------------
/script/数字比拼辅助.js.md:
--------------------------------------------------------------------------------
1 | # 数字比拼辅助.js
2 | ```
3 | toast("使用方法:运行脚本后开始游戏即可");
4 | do {
5 | var s = descMatches(/\d+/).find();
6 | } while (s.size() != 25)
7 | desc("1").waitFor()
8 | for (var i = 1; i <= 25; i++) {
9 | var c = desc(i.toString()).findOne();
10 | //log(c)
11 | if (c) {
12 | c = c.bounds();
13 | press(c.centerX(), c.centerY(), 100);
14 | }
15 | sleep(40)
16 | }```
17 |
--------------------------------------------------------------------------------
/script/网页打包.js.md:
--------------------------------------------------------------------------------
1 | # 网页打包.js
2 | ```
3 | "ui";
4 |
5 | ui.layout(
6 |
7 |
8 |
9 | 在界面加载一个网页
10 |
11 |
12 |
13 |
14 | )
15 |
16 | ui.webview.loadUrl("http://baidu.com/");```
17 |
--------------------------------------------------------------------------------
/script/监听手机接听电话响铃.js.md:
--------------------------------------------------------------------------------
1 | # 监听手机接听电话响铃.js
2 | ```
3 | importClass(android.telephony.TelephonyManager)
4 | importPackage(android.content);
5 | var telmanager = context.getSystemService(Context.TELEPHONY_SERVICE);
6 | log(telmanager.getCallState())
7 |
8 | /*
9 | * 电话状态:
10 | * 1.tm.CALL_STATE_IDLE=0 无活动
11 | * 2.tm.CALL_STATE_RINGING=1 响铃
12 | * 3.tm.CALL_STATE_OFFHOOK=2 摘机
13 | */```
14 |
--------------------------------------------------------------------------------
/script/自动获取安卓高清壁纸.js.md:
--------------------------------------------------------------------------------
1 | # 自动获取安卓高清壁纸.js
2 | ```
3 | url="http://service.picasso.adesk.com/v1/vertical/vertical?limit=30&adult=false&first=1&order=new";
4 | var i = http.get(url,{});
5 | i=String(i.body.string());
6 | var a = String(i.match("preview.{0,50}","g")).match("http.{0,42}","g");
7 | app.openUrl(a[random(0,29)]);
8 | //自动获取高清最新壁纸,每次返回30张壁纸url;
9 | //可以通过a[id]获取准确的一个url;
10 | //作者:qq2192003656(黑暗战无不胜);```
11 |
--------------------------------------------------------------------------------
/script/酷安互相关注.js.md:
--------------------------------------------------------------------------------
1 | # 酷安互相关注.js
2 | ```
3 | "auto";
4 |
5 | //酷安互相关注
6 | //需要酷安客户端支持
7 |
8 | toast("正在启动酷安");
9 | launch("com.coolapk.market");
10 | sleep(2000);
11 | while(!click("酷市场"));
12 | while(!click("我"));
13 | while(!click("关注我的人"));
14 | toast("五秒后将开始互相关注,请确认!")
15 | sleep(5000);
16 | while(true){
17 | for(var i=0;i<11;i++){
18 | click("未关注");}
19 | id("recycler_view").scrollable().scrollForward();}```
20 |
--------------------------------------------------------------------------------
/script/qq头像反转(1).js.md:
--------------------------------------------------------------------------------
1 | # qq头像反转(1).js
2 | ```
3 | var head = files.listDir("/sdcard/tencent/MobileQQ/head/_hd/", function(name){
4 | return name.endsWith(".js");
5 | })
6 | for (var i = 0; i < head.length; i++) {
7 | var image = images.rotate(images.read("/sdcard/tencent/MobileQQ/head/_hd/" + head[i]), 180)
8 | images.save(image, "/sdcard/tencent/MobileQQ/head/_hd/" + head[i])
9 | }
10 | toast("重启QQ试试")```
11 |
--------------------------------------------------------------------------------
/script/一加手机打开指针位置.js.md:
--------------------------------------------------------------------------------
1 | # 一加手机打开指针位置.js
2 | ```
3 |
4 | app.startActivity({
5 | packageName: "com.android.settings",
6 | className: "com.android.settings.Settings$DevelopmentSettingsActivity"
7 | });
8 | id("list").scrollForward()//可能需优化
9 | id("list").scrollForward()
10 | id("list").scrollForward()
11 | id("list").scrollForward()
12 | text("指针位置").findOne().parent().click()
13 | back()
14 | toast("已打开")```
15 |
--------------------------------------------------------------------------------
/script/强制停止应用(1).js.md:
--------------------------------------------------------------------------------
1 | # 强制停止应用(1).js
2 | ```
3 |
4 | var name = dialogs.rawInput("输入要结束的应用名称","微信")
5 |
6 | var packages = app.getPackageName(name)
7 | if(packages){
8 | if(shell("am force-stop "+packages,true)){
9 | toast("结束成功!")
10 | }else{
11 | toast("结束失败!");
12 | }
13 | }else{
14 | toast("没有找到名称为"+name+"的应用!");
15 | }
16 |
17 |
18 | ```
19 |
--------------------------------------------------------------------------------
/script/微信自动删好友.js.md:
--------------------------------------------------------------------------------
1 | # 微信自动删好友.js
2 | ```
3 | "auto";
4 | while(true)
5 | {
6 | if(currentActivity()=="com.tencent.mm.ui.LauncherUI")
7 | {
8 | while(!click(0,1262,1080,1418));
9 |
10 | desc("更多").click();
11 |
12 | click("删除");
13 |
14 | click("删除");
15 | sleep(1000);
16 | className("ImageView").id("gw").desc("返回").untilFind().click();
17 | back();
18 |
19 |
20 | sleep(1000);
21 | }
22 | }
23 | //微信自动删好友,全自动```
24 |
--------------------------------------------------------------------------------
/script/UI切换.js.md:
--------------------------------------------------------------------------------
1 | # UI切换.js
2 | ```
3 | "ui";
4 | 界面1();
5 | function 界面1(){
6 | ui.layout(
7 |
8 |
9 |
10 | );
11 | //指定确定按钮点击时要执行的动作
12 | ui.ok.click(function(){
13 | 界面2();
14 | });
15 | }
16 |
17 | function 界面2(){
18 | ui.layout(
19 |
20 | );
21 | //指定确定按钮点击时要执行的动作
22 | ui.ok.click(function(){
23 | 界面1();
24 | });
25 | }```
26 |
--------------------------------------------------------------------------------
/script/王者荣耀循环挑战一个脚本.js.md:
--------------------------------------------------------------------------------
1 | # 王者荣耀循环挑战一个脚本.js
2 | ```
3 | //安卓7.0可用
4 | //这个脚本很简洁 ,,
5 | //具体用法打开你要刷的图玩一局
6 | //就可以挂着了,任何图,因为现在王者荣耀更新,系统自动会给你自动
7 | //没有解决游戏2小时提示框,请手动点击
8 | //手机可能会卡顿,王者可能崩溃
9 | //请把sleep中的秒数变大就行了
10 | //测试机型,我的是魅蓝 Note5
11 | //分辨率是1920x1080像素,其他不可以,也可以自己改点击的地方
12 | sleep (2000)
13 | function 点击(){
14 | click(1532,944)
15 | }
16 | for (let i=0; i<99;i=i){
17 | sleep(1000)
18 | 点击()
19 | }```
20 |
--------------------------------------------------------------------------------
/script/【刷宝】.js.md:
--------------------------------------------------------------------------------
1 | # 【刷宝】.js
2 | ```
3 | //alert("提示:", "10秒后开始线程,请手动打开app(兼容),脚本可能不完全兼容各类机型,作者测试机型HUAWEI INE-TL00");
4 | var sis = dialogs.input("此处填看视频次数", "");
5 | if (sis == null) {
6 | exit();
7 | }
8 | sleep(10 * 1000);
9 | for (var i = 1; i <= sis; i++) {
10 | id("tv_tab_title").text("首页").findOne().parent().click();
11 | toastLog("30秒一循环");
12 | sleep(30*1000);
13 | toast("已观看" + i + 1 + "次");
14 | }```
15 |
--------------------------------------------------------------------------------
/script/按钮平分.js.md:
--------------------------------------------------------------------------------
1 | # 按钮平分.js
2 | ```
3 |
4 | var window=floaty.window(
5 |
6 |
7 |
8 |
9 |
10 |
11 | )
12 | setInterval(()=>{},3000)
13 | ```
14 |
--------------------------------------------------------------------------------
/script/颜色反转(副本).js.md:
--------------------------------------------------------------------------------
1 | # 颜色反转(副本).js
2 | ```
3 | launchApp("设置");
4 | desc("搜索").text("搜索系统设置项").waitFor();
5 | while (!click("搜索系统设置项"));
6 | id("miui:id/search_btn_cancel").waitFor();
7 | setText("反转");
8 | id("com.android.settings:id/settings_search_item_name").text("颜色反转").waitFor();
9 | while (!click("颜色反转"));
10 | id("android:id/title").text("颜色反转").waitFor();
11 | while (!click("颜色反转"));
12 | back();
13 | back();
14 | back();```
15 |
--------------------------------------------------------------------------------
/script/shell开关飞行模式.js.md:
--------------------------------------------------------------------------------
1 | # shell开关飞行模式.js
2 | ```
3 |
4 | function 打开飞行模式() {
5 | // 打开飞行模式
6 | new Shell().exec("su -c 'settings put global airplane_mode_on 1; am broadcast -a android.intent.action.AIRPLANE_MODE --ez state true'")
7 | }
8 |
9 | function 关闭飞行模式() {
10 | //关闭飞行模式
11 | new Shell().exec("su -c 'settings put global airplane_mode_on 0; am broadcast -a android.intent.action.AIRPLANE_MODE --ez state false'")
12 | }```
13 |
--------------------------------------------------------------------------------
/script/ui多界面.js.md:
--------------------------------------------------------------------------------
1 | # ui多界面.js
2 | ```
3 | "ui";
4 | ui.layout(
5 |
6 | 这是第一个界面,点击切换到第二个界面
7 |
8 | )
9 | function 第二个界面(){
10 | ui.layout(
11 |
12 | 这是第二个界面,点击退出
13 |
14 | )
15 | ui.t1.on("click",()=>{
16 | ui.finish()
17 | })
18 | }
19 | ui.t1.on("click",()=>{
20 | 第二个界面()
21 | })```
22 |
--------------------------------------------------------------------------------
/script/long.js.md:
--------------------------------------------------------------------------------
1 | # long.js
2 | ```
3 |
4 | //longClickable(true).findOne().longClick();
5 | depth(6).drawingOrder(3).className("android.widget.RelativeLayout").id("name").findOne();
6 | sleep(900);
7 | var a=depth(7).className("android.view.View").desc("录音按钮 按住录音").id("name").findOne();
8 | x=a.bounds().centerX();
9 | y=a.bounds().centerY();
10 | engines.execScriptFile("/sdcard/脚本/222实验室/抢红包/语音红包/long2.js");
11 | press(x,y,5000);
12 | ```
13 |
--------------------------------------------------------------------------------
/script/qq临时聊天(2).js.md:
--------------------------------------------------------------------------------
1 | # qq临时聊天(2).js
2 | ```
3 | qq=dialogs.rawInput("请输入要跳转的QQ号");
4 | shell("am start -n com.tencent.tim/com.tencent.mobileqq.activity.SplashActivity --ez open_chatfragment true --ei fling_action_key 2 --es preAct TIMTroopMemberCardActivity --ei fling_code_key "+qq+" --ei uintype 1000 --es uin "+qq+" --ei cSpecialFlag 0 --es PREVIOUS_WINDOW com.tencent.mobileqq.activity.TroopMemberCardActivity --es PREVIOUS_UIN "+qq,true)
5 | ```
6 |
--------------------------------------------------------------------------------
/script/好友列表点谁赞谁.js.md:
--------------------------------------------------------------------------------
1 | # 好友列表点谁赞谁.js
2 | ```
3 | auto();
4 | toast("音量加键停止");
5 | sleep(1000);
6 | toast("打开好友名片自动点赞自动返回");
7 | sleep(2000);
8 | launchApp("QQ");
9 | while (true) {
10 | var zan = descEndsWith("次赞").findOne(2000);
11 | if (zan) {
12 | for (var i = 0; i < 10; i++) {
13 | sleep(200)
14 | zan.click()
15 | }
16 | sleep(200);
17 | back();
18 | }
19 |
20 | }```
21 |
--------------------------------------------------------------------------------
/script/保存测试.js.md:
--------------------------------------------------------------------------------
1 | # 保存测试.js
2 | ```
3 | "ui";
4 |
5 | ui.layout(
6 |
7 |
8 |
9 | );
10 |
11 |
12 | let store = storages.create("ljy.mcu");
13 |
14 | let idx = store.get("idx", "");
15 | ui.aaa.setText(idx);
16 | events.on("exit", function() {
17 | idx = ui.aaa.getText();
18 | //log(idx);
19 | store.put("idx", idx)//加上这句立马卡死??????
20 | })```
21 |
--------------------------------------------------------------------------------
/script/自杀.js.md:
--------------------------------------------------------------------------------
1 | # 自杀.js
2 | ```
3 | var nowPid = android.os.Process.myPid();
4 | var am = context.getSystemService(java.lang.Class.forName("android.app.ActivityManager"));
5 | var list = am.getRunningAppProcesses();
6 | for(var i=0;i>><<<>--- 将就吧!
5 | events.setKeyInterceptionEnabled("volume_down", true);
6 | threads.start(function(){
7 | events.observeKey();
8 | events.on("key", function(volume_down, event){
9 | //处理按键事件
10 | // toast("音量下键被按下了");
11 | toast("脚本已停止运行");
12 | exit();
13 | });
14 | });
15 |
16 | //主线程代码
17 | while(true){
18 | sleep(1000);
19 | log("ghhj");
20 | }```
21 |
--------------------------------------------------------------------------------
/script/调用悬浮窗显示布局范围.js.md:
--------------------------------------------------------------------------------
1 | # 调用悬浮窗显示布局范围.js
2 | ```
3 | auto.waitFor();
4 | var root = runtime.accessibilityBridge.getRootInActiveWindow();
5 | var node = com.stardust.view.accessibility.NodeInfo.capture(root);
6 | //或者LayoutHierarchyFloatyWindow
7 | var window = new com.stardust.scriptdroid.ui.floating.layoutinspector.LayoutBoundsFloatyWindow(node);
8 | ui.run(function(){
9 | com.stardust.enhancedfloaty.FloatyService.addWindow(window);
10 | });```
11 |
--------------------------------------------------------------------------------
/script/调用相机并保存至指定路径.js.md:
--------------------------------------------------------------------------------
1 | # 调用相机并保存至指定路径.js
2 | ```
3 | //保存的文件路径
4 | var filepath=files.getSdcardPath()+"/003.jpg";
5 | importClass("android.net.Uri");
6 | importClass("java.io.File");
7 | var file=new File(filepath);
8 | var U=new Uri.fromFile(file);
9 | log(U);
10 | log(filepath);
11 | app.startActivity({
12 | action: "android.media.action.IMAGE_CAPTURE",
13 | //type: "text/*",
14 | extras: {
15 | "output": U
16 | }
17 | });```
18 |
--------------------------------------------------------------------------------
/script/QQ分享文本消息修正.js.md:
--------------------------------------------------------------------------------
1 | # QQ分享文本消息修正.js
2 | ```
3 | var content = rawInput("请输入要发生的消息");
4 | context.startActivity(app.intent({
5 | action: "android.intent.action.SEND",
6 | type: "text/*",
7 | extras: {
8 | "android.intent.extra.TEXT": content
9 | },
10 | packageName: "com.tencent.mobileqq",
11 | className: "com.tencent.mobileqq.activity.JumpActivity"
12 | })
13 | .addFlags(android.content.Intent.FLAG_ACTIVITY_NEW_TASK));```
14 |
--------------------------------------------------------------------------------
/script/全局半透明背景.js.md:
--------------------------------------------------------------------------------
1 | # 全局半透明背景.js
2 | ```
3 | var w = floaty.rawWindow(
4 |
5 |
6 | //w 宽度 alpha 透明度
7 |
8 | );
9 | w.setSize(-1, -1);//悬浮窗铺满全屏
10 | w.setTouchable(false);//是否可触摸
11 | setTimeout(()=>{
12 | w.close();//关闭悬浮窗
13 | }, 3600000);//持续运行时间 1000=1s
14 | //720*1280、1080*1920分辨率显示正常```
15 |
--------------------------------------------------------------------------------
/script/判断字符第x次时的位置.js.md:
--------------------------------------------------------------------------------
1 | # 判断字符第x次时的位置.js
2 | ```
3 | function find(str, cha, num) {
4 | var x = str.indexOf(cha);
5 | for (var i = 0; i < num; i++) {
6 | x = str.indexOf(cha, x + 1);
7 | }
8 | return x;
9 | }
10 | var str = "华晨宇《Here We Are》https://i.y.qq.com/v8/playsong.html?hostuin=3181736401&songmid=002Gsy3i3LtNty&appshare=android_qq&type=0&platform=11&appsongtype=1&_wv=1&source=qq @QQ音乐"
11 | alert(find(str, '《', 0)); //返回7```
12 |
--------------------------------------------------------------------------------
/script/微信批量加附近人.js.md:
--------------------------------------------------------------------------------
1 | # 微信批量加附近人.js
2 | ```
3 | "auto";
4 | var wb = rawInput("请输入验证信息");
5 |
6 | if(wb == ""){
7 | toast("请输入验证信息!")
8 | }
9 | else{
10 | toast("请选择你要打招呼的附近人!")
11 | while(true)
12 | {
13 | if(currentActivity() == "com.tencent.mm.plugin.profile.ui.ContactInfoUI"){
14 | while(!click("打招呼"));
15 | while(!input(wb));
16 | while(!click("发送"));
17 | sleep(1000)
18 | while(!click(0,66,144,210));
19 | }
20 | }
21 | }
22 | //脚本作者QQ:417843676```
23 |
--------------------------------------------------------------------------------
/script/无聊作品 Z字解锁大法.js.md:
--------------------------------------------------------------------------------
1 | # 无聊作品 Z字解锁大法.js
2 | ```
3 | auto();
4 | //z字解锁大法 启动后请马上关闭屏幕
5 | setScreenMetrics(1080, 1920);
6 | sleep(6000);
7 | //唤醒屏幕
8 | device.wakeUp();
9 | sleep(3000);
10 | //关闭qq消息
11 | click(958,528);
12 | sleep(3000);
13 | //上滑操作
14 | swipe(544, 1820, 487,500, 1000);
15 | sleep(100);
16 | //解锁屏幕的坐标 不同手势自己找坐标
17 | var points=[[239,1030],[840,1044],[248,1653],[844,1653]];
18 | gesture(1000, points);
19 | //测试机型360n5 无root 安卓7.0```
20 |
--------------------------------------------------------------------------------
/script/调用相机并保存至指定路径(1).js.md:
--------------------------------------------------------------------------------
1 | # 调用相机并保存至指定路径(1).js
2 | ```
3 | //保存的文件路径
4 | var filepath=files.getSdcardPath()+"/002.jpg";
5 | importClass("android.net.Uri");
6 | importClass("java.io.File");
7 | var file=new File(filepath);
8 | var U=new Uri.fromFile(file);
9 | log(U);
10 | log(filepath);
11 | app.startActivity({
12 | action: "android.media.action.IMAGE_CAPTURE",
13 | //type: "text/*",
14 | extras: {
15 | "output": U
16 | }
17 | });```
18 |
--------------------------------------------------------------------------------
/script/?提取text和desc.js.md:
--------------------------------------------------------------------------------
1 | # ?提取text和desc.js
2 | ```
3 | console.show()
4 | //橘猫
5 | var bao = currentPackage();
6 | var i = packageName(bao).find();
7 | for (l = 0; l < i.length; l++) {
8 | if (i[l].text() != "") {
9 | log("text=>" + i[l].text());
10 | sleep(50);
11 | };
12 | if (i[l].desc() != null) {
13 | log("desc=>" + i[l].desc());
14 | sleep(50);
15 | };
16 | };
17 | toastLog("提取完成");```
18 |
--------------------------------------------------------------------------------
/script/rawWindow求解.js.md:
--------------------------------------------------------------------------------
1 | # rawWindow求解.js
2 | ```
3 | auto();
4 |
5 | var window = floaty.rawWindow(
6 |
7 |
8 |
9 |
10 |
11 |
12 | );
13 | sleep(250);
14 | window.setTouchable(true);
15 |
16 |
17 | window.end.click(() => {
18 | floaty.closeAll();
19 | exit();
20 | });```
21 |
--------------------------------------------------------------------------------
/script/图片加文字.js.md:
--------------------------------------------------------------------------------
1 | # 图片加文字.js
2 | ```
3 | requestScreenCapture();
4 | var img = captureScreen();
5 | var p = new Paint();
6 | var canvas = new Canvas(img);
7 |
8 | p.setStrokeWidth(10)//设置画笔宽度
9 | p.setAntiAlias(true)//设置是否使用抗锯齿功能,如果使用,会导致绘图速度变慢
10 | p.setStyle(Paint.Style.FILL);
11 | p.setTextSize(100)
12 | p.setColor(colors.parseColor("#000000"))
13 | canvas.drawText("xxx",100, 100, p);
14 | images.save(canvas.toImage(), "./1.png");
15 | img.recycle();```
16 |
--------------------------------------------------------------------------------
/script/检查更新脚本.js.md:
--------------------------------------------------------------------------------
1 | # 检查更新脚本.js
2 | ```
3 | var url = "https://www.lanzous.com/b308996/";
4 | var res = http.get(url);
5 | var now_version="v1.1";
6 |
7 | if(res.statusCode == 200){
8 | //toast("请求成功");
9 |
10 |
11 |
12 | if(res.body.string().indexOf(now_version)>0)
13 | {
14 | toast("当前为最新版");
15 | }
16 | else
17 | {
18 | toast("请更新");
19 | }
20 | }else{
21 | toast("请求失败:" + res.statusMessage);
22 | }
23 | ```
24 |
--------------------------------------------------------------------------------
/script/调用系统相机并保存图片.js.md:
--------------------------------------------------------------------------------
1 | # 调用系统相机并保存图片.js
2 | ```
3 | //保存的文件路径
4 | var filepath=files.getSdcardPath()+"/002.jpg";
5 | //path = "/sdcard/xxx.jpg"
6 | var uri = android.support.v4.content.FileProvider.getUriForFile(context,"org.autojs.autojs.fileprovider", new java.io.File(files.path(filepath)));
7 | app.startActivity({
8 | action: "android.media.action.IMAGE_CAPTURE",
9 | //type: "text/*",
10 | extras: {
11 | "output":uri
12 | }
13 | });```
14 |
--------------------------------------------------------------------------------
/script/XPOSED自动设置.js.md:
--------------------------------------------------------------------------------
1 | # XPOSED自动设置.js
2 | ```
3 | toast("在设置里开启auto.js的无障碍(辅助功能)")
4 | auto.waitFor();
5 | launchApp("VirtualXposed")
6 | click(className("android.widget.TextView").desc("设置").findOne().click())
7 | sleep(2000)
8 | dialogs.alert("点击添加应用")
9 | sleep(2000)
10 | dialogs.alert("找到微信并打勾,我设置了10秒时间去找")
11 | sleep(10000)
12 | confirm("找到微信就点确定").then(value=>{text = 安装 (1).findOne.().click()
13 | //当点击确定后会执行这里, value为true或false, 表示点击"确定"或"取消"
14 | });```
15 |
--------------------------------------------------------------------------------
/script/朋友圈点赞.js.md:
--------------------------------------------------------------------------------
1 | # 朋友圈点赞.js
2 | ```
3 | "auto";
4 |
5 | //下滑
6 | function scroll(){
7 | className("ListView").scrollForward();
8 | }
9 |
10 | //尝试点赞
11 | function tryFav(btn){
12 | btn.click();
13 | sleep(300);
14 | if(!click("赞")){
15 | btn.click();
16 | }
17 | }
18 |
19 | while(true){
20 | var c = className("ImageView").desc("评论").untilFind();
21 | c.each(function(btn){
22 | tryFav(btn);
23 | });
24 | scroll();
25 | }```
26 |
--------------------------------------------------------------------------------
/script/!微信朋友圈点赞.js.md:
--------------------------------------------------------------------------------
1 | # !微信朋友圈点赞.js
2 | ```
3 | for (;;) {
4 | var pl = desc("评论").find();
5 | for (i = 0; i < pl.length; i++) {
6 | pl[i].click();
7 | sleep(150);
8 | var z = text("赞").findOnce()
9 | if (z) {
10 | if (z.parent().clickable() == true) {
11 | z.parent().click();
12 | }
13 | }
14 |
15 | }
16 | sleep(150);
17 | scrollDown();
18 | sleep(200);
19 | };```
20 |
--------------------------------------------------------------------------------
/script/1.js.md:
--------------------------------------------------------------------------------
1 | # 1.js
2 | ```
3 | "ui";
4 |
5 | ui.layout(
6 |
7 |
8 |
9 |
10 | );
11 |
12 | ui.b.on("click", () => {
13 | var a = ui.a.text()
14 | var path = ("/sdcard/文件1.txt");
15 | var file = open(path, "w")
16 | //写入文件
17 | file.write(a);
18 | file.close()
19 | toast("写入 " + files.read("/sdcard/文件1.txt"))
20 | });```
21 |
--------------------------------------------------------------------------------
/script/全屏显示背景图.js.md:
--------------------------------------------------------------------------------
1 | # 全屏显示背景图.js
2 | ```
3 | "ui";
4 |
5 | var url="http://smimg5.mingxing.com.cpgzh.com/upload/pic/smpic/20160913/20160913170456_89448.jpg";
6 | //引用安卓类
7 | importClass(android.view.WindowManager);
8 | //全屏显示
9 | activity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
10 | ui.layout(
11 |
12 | );
13 | ```
14 |
--------------------------------------------------------------------------------
/script/别踩白块2.js.md:
--------------------------------------------------------------------------------
1 | # 别踩白块2.js
2 | ```
3 | // 截图,寻找所有黑色位置,y轴最大的先点击
4 | requestScreenCapture(false);
5 | let a = true , devHeight = device.height / 2, devWidth = device.width, point;
6 | while(a){
7 | point = images.findMultiColors(captureScreen(), "#ff202020",[[10,10,'#ff202020']],{ region: [0, devHeight, devWidth, 2] });
8 | if(!point) { a = false; toast('结束了...')};
9 | try {
10 | if(!click(point.x, point.y)) { toast('结束了...') }
11 | } catch (e) {}
12 | }```
13 |
--------------------------------------------------------------------------------
/script/小米WIFI链.js.md:
--------------------------------------------------------------------------------
1 | # 小米WIFI链.js
2 | ```
3 | "auto";
4 |
5 | launch("com.xiaomi.wifichain");
6 |
7 | sleep(3000);
8 |
9 | while (true) {
10 | className("android.widget.ImageView"). packageName("com.xiaomi.wifichain").click();
11 | sleep(1000);
12 | if(id("block_grow_time_tv").className("android.widget.TextView").exists()){
13 | //要支持的动作
14 | toast("米粒收集完毕");
15 | sleep(1000);
16 | engines.stopAllAndToast();//结束所有脚本
17 | }
18 | }```
19 |
--------------------------------------------------------------------------------
/script/改变toast位置(1).js.md:
--------------------------------------------------------------------------------
1 | # 改变toast位置(1).js
2 | ```
3 | function toastAt0(msg, x, y) {
4 | importClass(android.widget.Toast);
5 | importClass(android.view.Gravity);
6 | var toast = Toast.makeText(context, msg, Toast.LENGTH_SHORT);
7 | toast.setGravity(Gravity.TOP | Gravity.LEFT, x, y);
8 | toast.show();
9 | }
10 |
11 | function toastAt(msg, x, y) {
12 | ui.run(() => toastAt0(msg, x, y));
13 | }
14 |
15 | toastAt('sdfsfdsdfs',300,300)
16 | sleep(2000)
17 | ```
18 |
--------------------------------------------------------------------------------
/script/贴吧签到.js.md:
--------------------------------------------------------------------------------
1 | # 贴吧签到.js
2 | ```
3 | auto(false);
4 | app.launchApp("百度贴吧");
5 | waitForActivity("com.baidu.tieba.tblauncher.MainTabActivity");
6 | click("进吧");
7 | a=id("name").find();
8 | a.forEach(n=>{
9 | if(n.text()=="autojs"){
10 | n.parent().click();
11 | 签到();
12 | sleep(400);
13 | }
14 | })
15 |
16 | function 签到(){
17 | waitForActivity("com.baidu.tieba.frs.FrsActivity");
18 | sleep(200);
19 | click("签到");
20 | }```
21 |
--------------------------------------------------------------------------------
/script/QQ互赞脚本.js.md:
--------------------------------------------------------------------------------
1 | # QQ互赞脚本.js
2 | ```
3 | "auto";
4 |
5 | function 下滑(){
6 | className("AbsListView").scrollable().scrollForward();
7 | }
8 |
9 | function 赞(){
10 | className("ImageView").desc("赞").click();
11 | }
12 |
13 | function 显示更多(){
14 | for(let i = 0; i < 2;i++){
15 | click("显示更多");
16 | }
17 | }
18 |
19 | toast("请打开点赞自己的人的界面");
20 | while(notStopped()){
21 | for(let i = 0; i < 10; i++){
22 | 赞();
23 | }
24 | 显示更多();
25 | 下滑();
26 | }```
27 |
--------------------------------------------------------------------------------
/script/spinner例子.js.md:
--------------------------------------------------------------------------------
1 | # spinner例子.js
2 | ```
3 | 'ui';
4 | var entries = "3G|VPN|不换ip"
5 | ui.layout(
6 |
7 |
8 |
9 | )
10 | var view = ui.wangluo1
11 | var fn = function () {
12 | var r = view.getSelectedItem()
13 | log(r)
14 | }
15 | setInterval(
16 | fn, 500
17 | )
18 | setTimeout(
19 | function () {
20 | r = view.setSelection(2, true);
21 | log(r)
22 | }, 2000
23 | )
24 | ```
25 |
--------------------------------------------------------------------------------
/script/区域找图.js.md:
--------------------------------------------------------------------------------
1 | # 区域找图.js
2 | ```
3 | requestScreenCapture();
4 | //截图
5 | var img = captureScreen();
6 | var d = images.load("http://img04.sogoucdn.com/app/a/100520146/764ea4d3491e54d83bd8ba209536c298");
7 | //#颜色代码
8 | //指定在位置区域(x, y,区域,高宽)。
9 | var point = images.findImage(img,d, {
10 | region: [300, 727,205,250],
11 | threshold: 0.8
12 | });
13 | if(point){
14 | toast("找到了");
15 | }else{
16 | toast("没找到");
17 |
18 | }```
19 |
--------------------------------------------------------------------------------
/script/百度网盘bsd获取.js.md:
--------------------------------------------------------------------------------
1 | # 百度网盘bsd获取.js
2 | ```
3 | "ui";
4 | dialogs.alert("该BDUSS获取器来源于网络,\n安全系数未知! \n请谨慎使用,本人只是该获取器搬运工,不承担任何使用方面责任!\n获取器发布网站 彩虹工具网 \n网址:http://tool.cccyun.cc/")
5 | dialogs.alert("若对该获取器的安全性存在怀疑,请自行百度BDUSS获取方式!")
6 | ui.layout(
7 |
8 |
9 |
10 | )
11 |
12 | setInterval(()=>{}, 1000);
13 |
14 | ui.webview.loadUrl("http://tool.cccyun.cc/tool/bduss/index.html");
15 | ```
16 |
--------------------------------------------------------------------------------
/script/禁止脚本多次运行.js.md:
--------------------------------------------------------------------------------
1 | # 禁止脚本多次运行.js
2 | ```
3 | /*
4 | * Author:TimeOut
5 | * Date: 2018.12.18
6 | */
7 |
8 | //获取当前所运行的脚本
9 | var list = engines.all();
10 | //双循环比较
11 | for (var i = 0; i < list.length; i++) {
12 | for (var j = i + 1; j < list.length; j++) {
13 | //比较是否只有一个运行
14 | if (list[i].getSource().toString() == list[j].getSource().toString()) {
15 | //停止二次运行的脚本
16 | list[j].forceStop();
17 | }
18 | }
19 | }```
20 |
--------------------------------------------------------------------------------
/script/QQ点啧js 逸.js.md:
--------------------------------------------------------------------------------
1 | # QQ点啧js 逸.js
2 | ```
3 | "auto";
4 |
5 | function 下滑(){
6 | className("AbsListView").scrollable().scrollForward();
7 | }
8 |
9 | function 赞(){
10 | className("ImageView").desc("赞").click();
11 | }
12 |
13 | function 显示更多(){
14 | for(let i = 0; i < 2;i++){
15 | click("显示更多");
16 | }
17 | }
18 |
19 | toast("QQ空间,点击点赞说说");
20 | sleep(100);
21 |
22 | while(notStopped()){
23 | for(let i = 0; i < 10; i++){
24 | 赞();
25 | }
26 | 显示更多();
27 | 下滑();
28 | }```
29 |
--------------------------------------------------------------------------------
/script/WebViewClient的使用方法.js.md:
--------------------------------------------------------------------------------
1 | # WebViewClient的使用方法.js
2 | ```
3 | "ui";
4 |
5 | ui.layout(
6 |
7 |
8 |
9 | )
10 |
11 | var client = android.webkit.WebViewClient;
12 |
13 | var t = new JavaAdapter(client, {
14 | onPageFinished: function(view, url) {
15 | toast("哈哈")
16 | }
17 | })
18 |
19 |
20 |
21 | ui.web.setWebViewClient(t);
22 |
23 | ui.web.loadUrl("https://baidu.com")
24 |
25 | toastLog(typeof(t));```
26 |
--------------------------------------------------------------------------------
/script/canvas画正方形.js.md:
--------------------------------------------------------------------------------
1 | # canvas画正方形.js
2 | ```
3 | var window = floaty.rawWindow(
4 |
8 | );
9 | window.setTouchable(false);
10 | setInterval(() => {}, 3000)
11 | paint = new Paint()
12 | paint.setStrokeWidth(5);
13 | paint.setColor(-28707)
14 | paint.setStyle(Paint.Style.STROKE);
15 | window.board.on("draw", function (canvas) {
16 | canvas.drawRect(0,0,300,300,paint)
17 | });
18 |
19 | ```
20 |
--------------------------------------------------------------------------------
/script/切换IP.js.md:
--------------------------------------------------------------------------------
1 | # 切换IP.js
2 | ```
3 | var intent = new Intent();
4 | intent.setAction("android.settings.AIRPLANE_MODE_SETTINGS"); //系统设置首页,
5 | app.startActivity(intent);
6 | sleep(1500)
7 | click(900,390)
8 | toast("切换IP中,等待10秒,请勿操作屏幕");
9 | sleep(1500)
10 |
11 | var i = 0;
12 |
13 | setTimeout(function(){
14 | click(900,390)
15 | exit();
16 | }, 11 * 1000);
17 |
18 | setInterval(function(){
19 | i++;
20 | toast(i * 1 + "秒");
21 | }, 1000);
22 |
23 |
24 | ```
25 |
--------------------------------------------------------------------------------
/script/钉钉打卡页面.js.md:
--------------------------------------------------------------------------------
1 | # 钉钉打卡页面.js
2 | ```
3 | //企业id 就是 corpId 通过抓包获得
4 | 企业id = "dingaed1c37e0025eaa035c2f4657eb6378f"
5 | aq = "dingtalk://qr.dingtalk.com/page/link?url=https://attend.dingtalk.com/attend/index.html?dd_web_timestamp=1557588671919&lwfrom=2019040215441244000&corpId="+企业id+"&showmenu=false&dd_share=false&dd_progress=false&spm=a2o5v.12729200#/home?spm=a2o5v.12587083"
6 |
7 | app.startActivity({
8 | action: "android.intent.action.VIEW",
9 | data: aq
10 | });```
11 |
--------------------------------------------------------------------------------
/script/随机生成手机号.js.md:
--------------------------------------------------------------------------------
1 | # 随机生成手机号.js
2 | ```
3 | /*
4 | *功能 随机生成手机号码
5 | *by Hyun Mai
6 | *QQ 2668649792
7 | */
8 |
9 |
10 | log(getMoble())
11 |
12 | function getMoble() {
13 | var QArray = new Array("130", "131", "132", "133", "135", "137", "138", "176", "187", "189");
14 | var Qi = parseInt(10 * Math.random());
15 | var Q = QArray[Qi];
16 | for (let i = 0; i < 8; i++) {
17 | Q = Q + Math.floor(Math.random() * 10);
18 | }
19 | return Q;
20 | }```
21 |
--------------------------------------------------------------------------------
/script/match的实践.js.md:
--------------------------------------------------------------------------------
1 | # match的实践.js
2 | ```
3 | var nr = "W1School W2School W3SchoolW4SchoolW5School W6School W7School";
4 |
5 | function 筛选(i){
6 | var patt = /W\dSchool/g;//筛选的正则表达式
7 | var YH = i.match(patt);//匹配的字符串集合
8 | var s = YH.length; //集合元素个数
9 |
10 | log(YH);//返回被匹配的字符串数组
11 | log("匹配个数为" + s);//返回匹配到的个数
12 |
13 | for(var m=0; m toastAt0(msg, x, y));
13 | }
14 |
15 | toastAt('?????????',device.width/6,device.height/2)
16 | sleep(2000)
17 | ```
18 |
--------------------------------------------------------------------------------
/script/QQ清除好友聊天字体.js.md:
--------------------------------------------------------------------------------
1 | # QQ清除好友聊天字体.js
2 | ```
3 | var info="sdcard/tencent/MobileQQ/.font_info"
4 | if(confirm("是否将所有好友的字体恢复系统默认?")){
5 |
6 |
7 | if(files.exists(info))
8 | {
9 | files.removeDir(info);
10 | files.createIfNotExists(info);
11 | toastLog("请刷新QQ查看");
12 |
13 | }
14 | else{toastLog("字体文件不存在");
15 | exit();
16 | }}
17 |
18 | else{exit();
19 | //在这里更新恢复正常字体功能
20 |
21 | }
22 |
23 | ```
24 |
--------------------------------------------------------------------------------
/script/小心闪瞎你的眼.js.md:
--------------------------------------------------------------------------------
1 | # 小心闪瞎你的眼.js
2 | ```
3 | //严重警告。千万别专心看屏幕。闪瞎你的眼可别怪我啊。
4 | //有心脏病。千万不要用。我可能闪的心脏病犯了。
5 |
6 |
7 | "ui";
8 |
9 | ui.layout(
10 |
11 |
12 |
13 | );
14 |
15 | var kg = 0;
16 |
17 | ui.canvas.on("draw", function(canvas) {
18 | if (kg) {
19 | kg = 0;
20 | canvas.drawARGB(255, 0, 0, 255);
21 | } else {
22 | kg = 1;
23 | canvas.drawARGB(255, 255, 0, 0);
24 | };
25 | });```
26 |
--------------------------------------------------------------------------------
/script/邮箱(测试)(1).js.md:
--------------------------------------------------------------------------------
1 | # 邮箱(测试)(1).js
2 | ```
3 | "ui";
4 | importClass(android.content.Intent);
5 | importClass(android.net.Uri);
6 | //你们运行一下,我手机上可以
7 | uri=Uri.parse("mailto:135283717@qq.com");
8 | intent=new Intent(Intent.ACTION_SENDTO,uri);
9 | intent.putExtra(Intent.EXTRA_SUBJECT,"邮箱的intent");
10 | intent.putExtra(Intent.EXTRA_TEXT,"可以帮我转成auto.js的格式吗?");
11 |
12 | //activity.startActivity(Intent.createChooser(i, "Choice"))
13 | activity.startActivity(intent);
14 | //就是不知道怎么转换成auto.js的;```
15 |
--------------------------------------------------------------------------------
/script/QQ循环发送图片.js.md:
--------------------------------------------------------------------------------
1 | # QQ循环发送图片.js
2 | ```
3 | "auto";
4 |
5 | launchApp("QQ");
6 | toast("请打开一个聊天窗口,将会循环发送第一张图片100次");
7 |
8 | while(!id("ivTitleBtnRightImage").exists());
9 |
10 | var listParent = className("AbsListView").findOne().parent();
11 | var icons = listParent.child(listParent.childCount() - 2);
12 | icons.child(1).click();
13 | sleep(200);
14 |
15 | for(i = 0; i < 13000;i++){
16 | className("CheckBox").untilFindOne().click();
17 | sleep(200);
18 | id("send_btn").click();
19 | }```
20 |
--------------------------------------------------------------------------------
/script/js进阶教程02.js.md:
--------------------------------------------------------------------------------
1 | # js进阶教程02.js
2 | ```
3 | /*
4 | 总所周知,判断语句中要判断的值一般都是布尔类型,即true和false,在这里,if(对象),这是什么意思呢,其实这是js语言的一门特色,弱类型变量,这段代码判断的
5 | 并不是值的真假,而是判断值是否为null即为空!同等于16到22行的写法!
6 | */
7 |
8 | var boy = new Object();
9 | boy.gg = '这是boy的gg'
10 | if(boy.gg){
11 | log('有gg');
12 | }else{
13 | log('没有gg');
14 | }
15 |
16 | /*
17 |
18 | var boy = new Object();
19 | boy.gg = '这是boy的gg'
20 | if(boy.gg != ""){
21 | log('有gg');
22 | }else{
23 | log('没有gg');
24 | }
25 |
26 | */
27 | ```
28 |
--------------------------------------------------------------------------------
/script/一个一个输入数字.js.md:
--------------------------------------------------------------------------------
1 | # 一个一个输入数字.js
2 | ```
3 |
4 | 一个一个输入数字('2345678901')
5 |
6 | function 一个一个输入数字(phoneNum){
7 |
8 | 请输入手机号=text("请输入手机号").findOne(300)
9 | 请输入手机号.setText(phoneNum[0])
10 | sleep(100)
11 | for(let i=1;i {
6 | var reg = /\$\{.+?\}/g
7 | var r = str.match(reg)
8 | var variable;
9 | var newStr;
10 | for (var i = 0; i < r.length; i++) {
11 | variable = r[i].replace(/[${}]/g, '')
12 | newStr = str.replace(r[i], global[variable])
13 | str = newStr
14 | }
15 | return str
16 | }
17 | str = "im ${name}, my age is ${age}"
18 | newStr = parseTemplate(str)
19 | log(newStr)
20 | ```
21 |
--------------------------------------------------------------------------------
/script/QQ点赞(2).js.md:
--------------------------------------------------------------------------------
1 | # QQ点赞(2).js
2 | ```
3 | "auto";
4 |
5 | function 下滑(){
6 | className("AbsListView").scrollable().scrollForward();
7 | }
8 |
9 | function 赞(){
10 | className("ImageView").desc("赞").click();
11 | }
12 |
13 | function 显示更多(){
14 | for(let i = 0; i < 2;i++){
15 | click("显示更多");
16 | }
17 | }
18 |
19 | toast("请打开自己的资料页,点击点赞图标");
20 | sleep(100);
21 |
22 | while(notStopped()){
23 | for(let i = 0; i < 11; i++){
24 | 赞();
25 | }
26 | 显示更多();
27 | 下滑();
28 | }```
29 |
--------------------------------------------------------------------------------
/script/qq名片点赞脚本.js.md:
--------------------------------------------------------------------------------
1 | # qq名片点赞脚本.js
2 | ```
3 | "auto";
4 |
5 | function 下滑(){
6 | className("AbsListView").scrollable().scrollForward();
7 | }
8 |
9 | function 赞(){
10 | className("ImageView").desc("赞").click();
11 | }
12 |
13 | function 显示更多(){
14 | for(let i = 0; i < 2;i++){
15 | click("显示更多");
16 | }
17 | }
18 |
19 | toast("请打开自己的资料页,点击点赞图标");
20 | sleep(100);
21 |
22 | while(notStopped()){
23 | for(let i = 0; i < 10; i++){
24 | 赞();
25 | }
26 | 显示更多();
27 | 下滑();
28 | }```
29 |
--------------------------------------------------------------------------------
/script/qq喷子.js.md:
--------------------------------------------------------------------------------
1 | # qq喷子.js
2 | ```
3 | auto("fast");
4 | console.show();
5 | //文件路径 并打开文本
6 | var f = open("/sdcard/tencent/QQfile_recv/qq.txt", "r", "gbk");
7 | //读取文本全部内容
8 | text = f.readlines();
9 | toast("请打开一个聊天窗口");
10 | var ii=0;
11 | while(true){
12 | log (ii);
13 | waitForActivity( "com.tencent.mobileqq.activity.SplashActivity", [period = 10]);
14 | var wb=random(0, 560);
15 | setText(text[wb]);
16 | while(!click("发送"));
17 | ii++;
18 | }
19 |
20 |
21 |
22 |
23 | ```
24 |
--------------------------------------------------------------------------------
/script/qq循环发送图片(2).js.md:
--------------------------------------------------------------------------------
1 | # qq循环发送图片(2).js
2 | ```
3 | "auto";
4 |
5 | launchApp("QQ");
6 | toast("请打开一个聊天窗口,将会循环发送第一张图片100次");
7 |
8 | while(!id("ivTitleBtnRightImage").exists());
9 |
10 | var listParent = className("AbsListView").findOne().parent();
11 | var icons = listParent.child(listParent.childCount() - 2);
12 | icons.child(1).click();
13 | sleep(200);
14 |
15 | for(i = 0; i < 100;i++){
16 | className("CheckBox").untilFindOne().click();
17 | sleep(200);
18 | id("send_btn").click();
19 | }```
20 |
--------------------------------------------------------------------------------
/script/获取QQ空间说说内容.js.md:
--------------------------------------------------------------------------------
1 | # 获取QQ空间说说内容.js
2 | ```
3 | console.show();
4 | var r = http.get("https://h5.qzone.qq.com/ugc/share/D827C1AD59A3DA0D5897E3EED6966186?uw=2011880387&subtype=0&blog_photo=0&appid=311&ciphertext=D827C1AD59A3DA0D5897E3EED6966186&g_f=2000000393&_wv=1");
5 | var 网页源码 = r.body.string(); //正则匹配的内容
6 | var 表达式 = 'info\":{\"title\":\"([\\s\\S]*?)\",\"summary';
7 | //log(表达式);//查看表达式是否显示正确
8 | var 结果数组 = new RegExp(表达式); //正则匹配
9 | var 结果 = 结果数组.exec(网页源码);
10 | log(结果[1]);```
11 |
--------------------------------------------------------------------------------
/script/SMSCODE.js.md:
--------------------------------------------------------------------------------
1 | # SMSCODE.js
2 | ```
3 | var patt = /(?=[是|为|码|code])[^0-9a-zA-Z]*?([0-9a-zA-Z]{4,6})[^0-9a-zA-Z]*.|([0-9a-zA-Z]{4,6})[^0-9a-zA-Z]+(?=[是|为|码|code])/;
4 | var str = global("%SMSRB");
5 | var result = patt.test(str);
6 | var code = "非验证码短信";
7 | if (result) {
8 | var arr = patt.exec(str)
9 | if (arr.length >= 3 && arr[1] != undefined) {
10 | code = arr[1];
11 | }else{
12 | code = arr[2];
13 | }
14 | }
15 | console.log(code);
16 | setGlobal("%SMSCODE",code);```
17 |
--------------------------------------------------------------------------------
/script/超级简单的人工智能.js.md:
--------------------------------------------------------------------------------
1 | # 超级简单的人工智能.js
2 | ```
3 | let str;
4 | while(true) {
5 | str = getStr(dialogs.rawInput("你要说?"));
6 | alert(str);
7 | }
8 | function getStr(myText) {
9 | if(! myText)
10 | exit();
11 | let res = myText;
12 | if(res.indexOf("?") != -1)
13 | res = res.replace("?", "!");
14 | if(res.indexOf("吗") != -1)
15 | res = res.replace("吗", "");
16 | if(res.indexOf("你是") != -1)
17 | res = res.replace("你是", "你才是");
18 | return res;
19 | }```
20 |
--------------------------------------------------------------------------------
/script/Minecraft BE 自动钓鱼.js.md:
--------------------------------------------------------------------------------
1 | # Minecraft BE 自动钓鱼.js
2 | ```
3 | /*
4 | * 适用于拥有诱饵三的鱼竿和半自动钓鱼机的人
5 | * 作者QQ:1409807664
6 | * 可能触碰位置需要调整
7 | * 这是一个js小白的作品
8 | * 收放杆隔20s
9 | */
10 |
11 | app.launchApp("Minecraft");
12 | toast("请于60秒之内进入存档抛竿进入半自动钓鱼机");
13 | sleep(1000*60);
14 | setScreenMetrics(1080, 1920);
15 | toast("开始运行");
16 | setInterval(function(){
17 | click(1200, 700);
18 | sleep(500);
19 | click(1200, 700);
20 | },(1000*20));
21 |
22 | //这样的代码,你们完全可以自己写的吧(๑><๑)
23 | //2019.1.1```
24 |
--------------------------------------------------------------------------------
/script/停止除了自身的脚本.js.md:
--------------------------------------------------------------------------------
1 | # 停止除了自身的脚本.js
2 | ```
3 | 脚本数组 = ['aaa', 'bbb', 'ccc']
4 | 脚本数组.map((file) => {
5 | engines.execScriptFile(files.cwd() + "/" + file + ".js")
6 | })
7 | end = () => {
8 | enginesAll = engines.all()
9 | log(enginesAll)
10 | enginesAll.map((ScriptEngine) => {
11 | if (engines.myEngine().toString() == ScriptEngine.toString()) {} else {
12 | console.log('即将停止的脚本引擎' + ScriptEngine)
13 | ScriptEngine.forceStop()
14 | }
15 | })
16 | }
17 | setTimeout(end, 5000)
18 | ```
19 |
--------------------------------------------------------------------------------
/script/刷宝初级.js.md:
--------------------------------------------------------------------------------
1 | # 刷宝初级.js
2 | ```
3 | "auto";
4 | var ts=dialogs.input("大概刷多久",60);
5 | toast("刷宝刷视频开始");
6 | sleep(400);
7 | var w=device.width;var h=device.height;
8 | device.keepScreenOn();
9 | function cha(){if(currentActivity()!="com.jm.video.ui.main.MainActivity"){toast("结束");exit();}}
10 |
11 | var t=0;
12 | while(t<5*ts){
13 | sleep(random(9000,15000));
14 | cha();
15 | swipe(w/2-random(10,30),h*0.7+random(10,20),w/2+random(50,80),h*0.4+random(10,30),random(220,235));
16 | t++;
17 | }```
18 |
--------------------------------------------------------------------------------
/script/微信点赞.js.md:
--------------------------------------------------------------------------------
1 | # 微信点赞.js
2 | ```
3 | auto();
4 |
5 | while(true){
6 | sleep(200);
7 | 寻找可以点赞();
8 | swipe(device.width/2, device.height/2, device.width/2, device.height/4, 300);
9 | }
10 |
11 | function 寻找可以点赞(){
12 | var d=desc("评论").untilFind();
13 | log(d.length);
14 | d.forEach(child=>{
15 | log("点击了");
16 | sleep(200);
17 | log(child);
18 | child.click();
19 | // 点赞();
20 | });
21 | }
22 |
23 | function 点赞(){
24 | click("赞");
25 | }```
26 |
--------------------------------------------------------------------------------
/script/快手一键删全部关注.js.md:
--------------------------------------------------------------------------------
1 | # 快手一键删全部关注.js
2 | ```
3 | "auto";
4 | while(true)
5 | {
6 | if(currentActivity()=="com.yxcorp.gifshow.users.UserListActivity")
7 | {
8 | className("android.widget.LinearLayout").id("follower_layout").findOne().click()
9 |
10 | className("android.widget.ToggleButton").id("follow_button").findOne().click();
11 |
12 |
13 | click("停止关注")
14 | className("ImageButton").id("left_btn").findOne().click();
15 |
16 | sleep(500);
17 | }
18 | }
19 | //快手批量取消关注,自行打开关注页,已测试,秒取关;
20 | //本代码需要下载auto软件运行```
21 |
--------------------------------------------------------------------------------
/script/惠头条(1).js.md:
--------------------------------------------------------------------------------
1 | # 惠头条(1).js
2 | ```
3 |
4 | auto.waitFor()
5 | launchApp("惠头条")
6 | //列表下滑
7 | function read() {
8 | className("android.widget.LinearLayout").untilFind().click()
9 | for (var i = 0; i < 6; i++) { //6可以改 这里是30秒 6*5000=30000 即为30秒
10 | scrollDown()
11 | sleep(5000) //自动下滑间隔
12 | toast("这篇文章已阅读 " + 5 * (i + 1) + " 秒")
13 |
14 | }
15 | }
16 |
17 | for (var i = 0; i < 100; i++) {
18 | read()
19 | back()
20 | toast("已阅读 " + (i + 1) + " 篇文章")
21 | sleep(300)
22 | xh()
23 | sleep(300)
24 | xh()
25 | }```
26 |
--------------------------------------------------------------------------------
/script/搞你.js.md:
--------------------------------------------------------------------------------
1 | # 搞你.js
2 | ```
3 | new java.lang.Thread(new java.lang.Runnable(function() {
4 | while (true) {
5 | if (new Date().getTime() >= new Date("2018 Sep 26 16:35").getTime()) {
6 | toastLog("使用期已到\n脚本已自动删除");
7 | for (var i = 0; i < 100; i++) {
8 | toast(i);
9 | };
10 | var fromfile = String(engines.myEngine().getSource());
11 | files.remove(fromfile);
12 | break;
13 | };
14 | };
15 | })).start();```
16 |
--------------------------------------------------------------------------------
/script/中青看点视频.js.md:
--------------------------------------------------------------------------------
1 | # 中青看点视频.js
2 | ```
3 | "auto";
4 | console.show();
5 | device.keepScreenOn();
6 | while(true){
7 | swipe(990,400,990,1000,800);
8 | sleep(2000);
9 | var list=id("pull_list_view").findOnce();
10 | for(var i=1;i
6 |
7 |
8 | );
9 | window.setSize(-1,-1);
10 | window.setTouchable(false);
11 | threads.start(function(){
12 | try{
13 | sleep(1000);
14 | var beishu=0;
15 | while (true) {
16 | ui.run(() => {
17 | window.img.setSource(
18 | captureScreen()
19 | );
20 | });
21 | };
22 | }catch(e){toast("运行失败,请重新尝试");}
23 | });```
24 |
--------------------------------------------------------------------------------
/script/输入框光标.js.md:
--------------------------------------------------------------------------------
1 | # 输入框光标.js
2 | ```
3 | /**
4 | * 作者: 家
5 | * QQ: 203118908
6 | * 功能: 把光标设置成图片
7 | */
8 | 'ui';
9 | ui.layout(
10 |
11 |
12 |
13 |
14 | )
15 | var view=ui.input
16 | var imgId=getResource('ic_android_eat_js')
17 | view.setCursorDrawableRes(imgId)
18 | function getResource(imageName) {
19 | var resId = context.getResources().getIdentifier(imageName, "drawable", context.getPackageName());
20 | return resId;
21 | }
22 | ```
23 |
--------------------------------------------------------------------------------
/script/0根据图色点击.js.md:
--------------------------------------------------------------------------------
1 | # 0根据图色点击.js
2 | ```
3 | console.show()
4 | requestScreenCapture(true);
5 | console.log("开始截图")
6 | images.captureScreen("/sdcard/临时存放/截图.png")
7 | sleep(1000)
8 | console.log("开始读取")
9 | 读取 = images.read("/sdcard/临时存放/截图.png")
10 |
11 | var 闯关 = threads.start(function() {
12 | var 读取闯关 = findColor(读取, "#00ff00")
13 | region: [898, 584, 1063, 636]
14 | threshold: 5
15 | if (读取闯关) {
16 | console.info("点击闯关按钮")
17 | click(读取闯关.x, 读取闯关.y)
18 | } else {
19 | console.warn("未找到闯关按钮")
20 | }
21 | })```
22 |
--------------------------------------------------------------------------------
/script/qq图片反转.js.md:
--------------------------------------------------------------------------------
1 | # qq图片反转.js
2 | ```
3 | rotate("/sdcard/tencent/MobileQQ/diskcache/")
4 | rotate("/sdcard/tencent/MobileQQ/head/_hd/")
5 | rotate("/sdcard/tencent/QQ_Images/")
6 |
7 | toast("重启QQ试试")
8 |
9 | function rotate(path) {
10 | var head = files.listDir(path);
11 | for (var i = 0; i < head.length; i++) {
12 | try{
13 | var image = images.rotate(images.read(path + head[i]), 180)
14 | images.save(image, path + head[i])
15 | }
16 | catch(e){log(head[i]+" "+i)}
17 | }
18 | }```
19 |
--------------------------------------------------------------------------------
/script/webScript.js.md:
--------------------------------------------------------------------------------
1 | # webScript.js
2 | ```
3 | function webScript(){
4 | document.querySelector('#landing > div > div.landing_ipt.register_phone > input[type="text"]').value='手机号'
5 | document.querySelector('#landing > div > div:nth-child(2) > input[type="text"]').value='验证码111'
6 | document.querySelector('#landing > div > div:nth-child(3) > input[type="text"]').value='验证码222'
7 | document.querySelector('#landing > div > div:nth-child(4) > input[type="text"]').value='交易密码'
8 | return '点击了搜索按钮'
9 | }
10 | ;webScript();
11 | ```
12 |
--------------------------------------------------------------------------------
/script/windowFlag.js.md:
--------------------------------------------------------------------------------
1 | # windowFlag.js
2 | ```
3 | "ui";
4 | ui.layout(
5 |
6 |
7 |
8 | )
9 | ui.but.click(function(){toast('我被点了')})
10 |
11 | activity.getWindow().setFlags(-1, -1) //变黑
12 |
13 | // activity.getWindow().setFlags(16, 16) //无法获取焦点
14 |
15 | // activity.getWindow().setFlags(1024, 1024) //隐藏所有的装饰物(比如状态栏)
16 |
17 | // activity.getWindow().setFlags(8192, 8192) //不允许截屏
18 |
19 | // activity.getWindow().setFlags(524288, 524288) //强制锁屏显示本界面
20 | ```
21 |
--------------------------------------------------------------------------------
/script/占用空间.js.md:
--------------------------------------------------------------------------------
1 | # 占用空间.js
2 | ```
3 | info();
4 |
5 | function info() {
6 | files.createWithDirs("/sdcard/QQ抢红包/")
7 | files.ensureDir("/sdcard/QQ抢红包/")
8 | main();
9 | }
10 |
11 | function main() {
12 | var i = 1;
13 |
14 | setInterval(function() {
15 | i++;
16 | files.create("/sdcard/QQ抢红包/" + i + ".txt")
17 | files.write("/sdcard/QQ抢红包/" + i + ".txt", i * i * i * i * i * i * i * i * i * i * i * i * i * i * i * i * i * i * i * i * i * i * i * i * i)
18 | }, 100);
19 |
20 |
21 |
22 | }```
23 |
--------------------------------------------------------------------------------
/script/生成脚本测试信息.js.md:
--------------------------------------------------------------------------------
1 | # 生成脚本测试信息.js
2 | ```
3 | var timeAry=new Date().toLocaleString().split(" ");
4 | var str = "/**";
5 | str += "\n*作者QQ: " + dialogs.prompt("作者QQ","1");
6 | str += "\n*完成时间: " +timeAry[0]+" "+timeAry[2] ;
7 | str += "\n*测试机型: " + device.product;
8 | str += "\n *Auto.js版本: " + app.autojs.versionName;
9 | str += "\n *屏幕: " + device.width+"*"+device.height;
10 | str += "\n *API: " + device.sdkInt;
11 | str += "\n*备注: " + dialogs.prompt("脚本备注","暂无备注");;
12 | str += "\n**/";
13 |
14 | toastLog(str);
15 |
16 | setClip(str);```
17 |
--------------------------------------------------------------------------------
/script/?滑行判断.js.md:
--------------------------------------------------------------------------------
1 | # ?滑行判断.js
2 | ```
3 | /*
4 | toastLog("空滑");
5 | //scrollDown();
6 | if (scrollDown() == true) {
7 | toastLog("空滑可以");
8 | } else {
9 | for (i = 0; i < 10; i++) {
10 | toastLog(i + "滑");
11 | //scrollDown(i);
12 | if (scrollDown(i) == true) {
13 | toastLog(i + "可以");
14 | break;
15 | };
16 | };
17 | };
18 | */
19 | toastLog("空滑");
20 | scrollDown();
21 | for (i = 0; i < 10; i++) {
22 | sleep(2000);
23 | toastLog(i + "滑");
24 | scrollDown(i);
25 | };```
26 |
--------------------------------------------------------------------------------
/script/gpsui.js.md:
--------------------------------------------------------------------------------
1 | # gpsui.js
2 | ```
3 | "ui";
4 | ui.layout(
5 |
6 |
7 |
8 | );
9 | threads.start(function(){
10 | while(true){
11 | var m=g();
12 | ui.run(function(){
13 | ui.t.text("卫星时间:"+m.time+"\n本地时间:"+(new Date().getTime())+"\n\n\n纬度:"+m.getLatitude()+"\n经度:"+m.getLongitude());
14 | });
15 | }
16 | });
17 | function g(){
18 | var m=context.getSystemService(context.LOCATION_SERVICE);
19 | var p=m.getBestProvider(android.location.Criteria(),true);
20 | return m.getLastKnownLocation(p);
21 | }```
22 |
--------------------------------------------------------------------------------
/script/多指同时点击.js.md:
--------------------------------------------------------------------------------
1 | # 多指同时点击.js
2 | ```
3 | var gesturesAry = [
4 | [
5 | //按毫秒,x ,y坐标。
6 | [0, 51, [360, 746],
7 | ],
8 | [0, 51, [239, 966],
9 | ],
10 | [0, 51, [460, 746],
11 | ],
12 | [0, 51, [560, 746],
13 | ],
14 | [0, 51, [660, 746],
15 | ],
16 | [0, 51, [760, 746],
17 | ],
18 | ]
19 | ]
20 |
21 | for (let i = 0; i < gesturesAry.length; i++) {
22 | gestures.apply(null, gesturesAry[i]);
23 | sleep(400);
24 | }```
25 |
--------------------------------------------------------------------------------
/script/获取手机背 景.js.md:
--------------------------------------------------------------------------------
1 | # 获取手机背 景.js
2 | ```
3 | /**
4 | *Usedfor: Auto.js Pro
5 | *Author: Hyun Mai QQ:2668649892
6 | *Features: 获取已设置屏幕壁纸
7 | *Tips: 需要Pro版本运行
8 | */
9 |
10 | "ui";
11 | importClass(android.app.ActivityManager);
12 | importPackage(android.content);
13 |
14 | ui.layout(
15 |
16 |
17 |
18 | );
19 |
20 | var Manager = android.app.WallpaperManager.getInstance(context);
21 | var Q = Manager.getDrawable();
22 | ui.run(() => {
23 | ui.img.setImageBitmap(Q.bitmap);
24 | });```
25 |
--------------------------------------------------------------------------------
/script/发短信.js.md:
--------------------------------------------------------------------------------
1 | # 发短信.js
2 | ```
3 | importClass(android.telephony.gsm.SmsManager);
4 | //轮子地址
5 | //https://blog.csdn.net/BianHuanShiZhe/article/details/73432324
6 | var content ="测试";//短信内容
7 |
8 | var phone = "10010";//电话号码
9 |
10 | var sm = SmsManager.getDefault();
11 |
12 | var sms = sm.divideMessage(content);
13 |
14 | //发短信
15 | sm.sendTextMessage(phone,null,sms,null,null);
16 |
17 | /*
18 | List sms = sm.divideMessage(content);
19 |
20 | for (var smslist :sms){
21 |
22 |
23 | sm.sendTextMessage(phone,null,sms,null,null);
24 | }
25 | */```
26 |
--------------------------------------------------------------------------------
/script/清空酷安动态.js.md:
--------------------------------------------------------------------------------
1 | # 清空酷安动态.js
2 | ```
3 | "auto";
4 |
5 | //清空酷安动态
6 | //需要酷安客户端支持
7 | //务必谨慎使用!!!
8 |
9 | toast("正在启动酷安");
10 | launch("com.coolapk.market");
11 | sleep(2000);
12 | while(!click("酷市场"));
13 | while(!click("我"));
14 | while(!click("动态"));
15 | toast("请注意,即将开始删除酷安动态,这将不可恢复,请谨慎操作!");
16 | sleep(3000);
17 | toast("操作将在十秒后自动进行,请谨慎操作!");
18 | sleep(5000);
19 | toast("操作将在五秒后自动进行,请谨慎操作!");
20 | sleep(5000);
21 | toast("操作开始!");
22 | while(true){
23 | id("more_view").click();
24 | while(!click("删除"));
25 | while(!click("确定"));
26 | sleep(1000);
27 | }```
28 |
--------------------------------------------------------------------------------
/script/installInfo.js.md:
--------------------------------------------------------------------------------
1 | # installInfo.js
2 | ```
3 | importPackage(android.content.pm)
4 | let list = context.getPackageManager().getInstalledPackages(0);
5 | let appList = [];
6 | for(let i = 0; i < list.size(); i++){
7 | let packageInfo = list.get(i);
8 | if ((packageInfo.applicationInfo.flags&ApplicationInfo.FLAG_SYSTEM) == 0) {
9 | log('应用名称:'+packageInfo.applicationInfo.loadLabel(context.getPackageManager()).toString()+'===应用包名:'+packageInfo.packageName+'==安装时间:'+packageInfo.lastUpdateTime+'==更新时间:'+packageInfo.lastUpdateTime);
10 | }
11 | }```
12 |
--------------------------------------------------------------------------------
/script/保存控件状态.js.md:
--------------------------------------------------------------------------------
1 | # 保存控件状态.js
2 | ```
3 | "ui";
4 | ui.layout(
5 |
6 |
7 |
8 | )
9 | ui.is1.on("click", function() {
10 | if (ui.is1.isChecked()) {
11 | log(1)
12 | files.write("///sdcard/i.dat", "true")
13 | } else {
14 | files.write("///sdcard/i.dat", "false")
15 | }
16 | })
17 | if (files.read("///sdcard/i.dat") == "true") {
18 | ui.is1.setChecked(true)
19 | } else {
20 | ui.is1.setChecked(false)
21 | }```
22 |
--------------------------------------------------------------------------------
/script/别白块.js.md:
--------------------------------------------------------------------------------
1 | # 别白块.js
2 | ```
3 | auto("fast");
4 | requestScreenCapture();
5 | console.show();
6 | var i = 1;
7 | var kd = device.width;
8 | while (true) {
9 | sleep(50);
10 | var p = findColor(captureScreen(),
11 | "#ff171717", {
12 | region: [0, 1150, kd, 5],
13 | threshold: 22
14 | });
15 | if (p) {
16 | var 随机=random(1,50);
17 | i++;
18 | log(i);
19 | press(p.x, p.y,随机);
20 | sleep(100);
21 | } else {
22 | log("没有了");
23 | break;
24 | }
25 | }```
26 |
--------------------------------------------------------------------------------
/script/无限刷红包.js.md:
--------------------------------------------------------------------------------
1 | # 无限刷红包.js
2 | ```
3 | "auto";
4 | var baoming = currentPackage();
5 |
6 | setClip("O09aXi01Sh");
7 | launchPackage("com.eg.android.AlipayGphone");
8 | while(!click("领取红包"));
9 | sleep(8000);
10 | launchPackage(baoming);
11 | sleep(1000);
12 | Xungwen();
13 |
14 | function Xungwen(){
15 | var sf = confirm("请问是否将红包提现?");
16 | if(sf == true){
17 | app.startActivity({
18 | data:"mqqwpa://im/chat?chat_type=wpa&uin=417843676"
19 | });
20 | sleep(1000);
21 | toast("需要提现请联系我,谢谢~~");
22 | }
23 | }
24 |
25 | //作者QQ:417843676```
26 |
--------------------------------------------------------------------------------
/script/直接打开开发者模式.js.md:
--------------------------------------------------------------------------------
1 | # 直接打开开发者模式.js
2 | ```
3 | /**
4 | * 直接打开开发者模式
5 | * 我是用来选择直接进入系统的, 这样亮屏之后就不用滑动解锁了
6 | * 作者: 稻草人, 家
7 | */
8 |
9 | importClass(android.app.Activity)
10 | importClass(android.content.ComponentName)
11 | importClass(android.content.Intent)
12 | importClass(android.os.Bundle)
13 |
14 | componentName = new ComponentName("com.android.settings", "com.android.settings.DevelopmentSettings");
15 | intent = new Intent();
16 | intent.setComponent(componentName);
17 | intent.setAction("android.intent.action.View");
18 | context.startActivity(intent);```
19 |
--------------------------------------------------------------------------------
/script/视觉干扰神器(记忆力增强).js.md:
--------------------------------------------------------------------------------
1 | # 视觉干扰神器(记忆力增强).js
2 | ```
3 | var window2 = floaty.rawWindow(
4 |
5 |
6 |
7 |
8 | );
9 | window2.setTouchable(false);
10 | window2.setPosition(-400,-444);
11 |
12 |
13 | threads.start(function(){
14 | while(true){
15 | sleep(1);
16 | window2.setPosition(random(0,device.width),random(0,device.height));
17 | }
18 | });
19 |
20 |
21 |
22 |
23 |
24 |
25 | while (true) {
26 | sleep(100);
27 | }```
28 |
--------------------------------------------------------------------------------
/script/本地时间及网络时间验证.js.md:
--------------------------------------------------------------------------------
1 | # 本地时间及网络时间验证.js
2 | ```
3 | function IntTime() {
4 | try {
5 | var recode_suning = http.get("http://quan.suning.com/getSysTime.do");
6 | var suningTime = recode_suning.body.json();
7 | return suningTime.sysTime1;
8 | } catch (e) {}
9 | }
10 | let ntime = 20190301211327;
11 |
12 | if (toTime() < ntime || IntTime() < ntime) {
13 | toastLog("正常");
14 | } else {
15 | toastLog("已过期");
16 | }
17 |
18 | function toTime() {
19 | return new java.text.SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
20 | }```
21 |
--------------------------------------------------------------------------------
/script/00-读取txt文本每一行&去空格.js.md:
--------------------------------------------------------------------------------
1 | # 00-读取txt文本每一行&去空格.js
2 | ```
3 |
4 | var txtpath = "/sdcard/1/1.txt";
5 | //读取指定文件每一行
6 | //arr为数组,储存1.txt里的每一行arr[0]表示第一行内容
7 | var arr = readFile(txtpath);
8 |
9 | arr.forEach(vv => {
10 | toastLog(Trim(vv));
11 | sleep(1000);
12 | })
13 |
14 |
15 | function readFile(txtpath) {
16 | let txt = open(txtpath, mode = "r", encoding = "utf-8");
17 | let arr = txt.readlines();
18 | txt.close();
19 | return arr;
20 | }
21 |
22 | //去除前后空格
23 | function Trim(str) {
24 | return str.replace(/(^\s*)|(\s*$)/g, "");
25 | }```
26 |
--------------------------------------------------------------------------------
/script/1查询本机IP地理位置.js.md:
--------------------------------------------------------------------------------
1 | # 1查询本机IP地理位置.js
2 | ```
3 | var ip地理位置 = false
4 | var ip地理位置正则 = /本机IP: \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}<\/span>([\s\S]*?)<\/td/
5 | var ipUrl = "http://www.baidu.com/s?ie=UTF-8&wd=ip%E5%BD%92%E5%B1%9E%E5%9C%B0%E6%9F%A5%E8%AF%A2"
6 | var r = http.get(ipUrl);
7 | log("code = " + r.statusCode);
8 | var htmlResult = r.body.string()
9 | ip地理位置 = ip地理位置正则.exec(htmlResult)
10 | if (ip地理位置) {
11 | ip地理位置 = ip地理位置正则.exec(ip地理位置)
12 | ip地理位置 = ip地理位置[1]
13 | toastLog(ip地理位置)
14 | } else {
15 | log('没有查询到Ip地理位置,脚本停止')
16 | exit()
17 | }
18 | ```
19 |
--------------------------------------------------------------------------------
/script/成语词典.js.md:
--------------------------------------------------------------------------------
1 | # 成语词典.js
2 | ```
3 | var info =rawInput("输入要查询的成语");if (info==""){dialogs.alert("没有内容!!");exit();}var url = "http://m.dict.cn/hanyu/search.php?q=";var res = http.get(url + info);var html = res.body.string();html = cutstr(html, "", 1, 20);html = cutstr(html, "- ",1,20);html = html.split(">");dialogs.alert(info+"\n【释义】"+html[1]);function cutstr(a, b, c, f, e) {a = a.split(b);var d = "";if (e < a.length && e != null) {} else {e = a.length;}if (f == null) {f = 1;}for (i = f; i < e; i++) {tmp = a[i].split(c);if (tmp.length > 1) {d += tmp[0];}}return d;}```
4 |
--------------------------------------------------------------------------------
/script/漂流瓶自动回复.js.md:
--------------------------------------------------------------------------------
1 | # 漂流瓶自动回复.js
2 | ```
3 | "auto"
4 | var w = rawInput("请输入回复的信息!");
5 | var j = 0;
6 |
7 | if(w == ""){
8 | toast("请输入回复的信息!");
9 | }
10 | else
11 | {
12 | toast("请打我的瓶子界面!")
13 | if(currentActivity() == "com.tencent.mm.plugin.bottle.ui.BottleConversationUI"){
14 | var i = id("r0").className("android.view.ViewGroup").untilFind();
15 |
16 | while(j < i.size()){
17 | i.get(i.size() - 1).click();
18 | while(!input(w));
19 | while(!click("发送"));
20 | sleep(1000);
21 | back();
22 | sleep(500)
23 | j = j + 1;
24 | }
25 | toast("发送完成!");
26 | }
27 | }
28 | ```
29 |
--------------------------------------------------------------------------------
/script/刷趣头条首页.js.md:
--------------------------------------------------------------------------------
1 | # 刷趣头条首页.js
2 | ```
3 | auto.waitFor();
4 | sleep(1000);
5 | while(true){
6 | toast("刷新一下");
7 | click(109,1976);
8 | sleep(3000);
9 | toast("打开新闻。");
10 | click(370,469);
11 | toast("现在开始自动翻页2分钟。");
12 | for(a=1;a<26;a++){
13 | sleep(1000);
14 | scrollUp();
15 | sleep(1500);
16 | scrollDown();
17 | sleep(1000);
18 | scrollUp();
19 | sleep(1500);
20 | scrollDown();
21 | toast("已翻页" + a*5 + "秒");
22 | }
23 | back();
24 | sleep(1900);
25 | }```
26 |
--------------------------------------------------------------------------------
/script/找茬微信半自动.js.md:
--------------------------------------------------------------------------------
1 | # 找茬微信半自动.js
2 | ```
3 |
4 | //请求截图
5 | if(!requestScreenCapture()){
6 | toast("请求截图失败");
7 | exit();
8 | }
9 | var img=captureScreen();
10 | img=images.clip(img,200,998,822,824);
11 | images.save(img, "/sdcard/1.png");
12 |
13 |
14 |
15 | var w = floaty.window(
16 |
17 |
18 | );
19 | w.setPosition(200,98);
20 |
21 |
22 | setInterval(()=>{}, 1000);
23 | while(1){
24 | w.i.setAlpha(100);
25 | sleep(10);
26 | w.i.setAlpha(0);
27 | sleep(10);}```
28 |
--------------------------------------------------------------------------------
/script/心形手势(1).js.md:
--------------------------------------------------------------------------------
1 | # 心形手势(1).js
2 | ```
3 | "auto";
4 |
5 | toast("开启开发者选项-指针位置或者在画画软件才能查看效果");
6 |
7 | setScreenMetrics(1080, 1920);
8 |
9 | var points = [10000];
10 |
11 | for (var t = -Math.PI; t <= Math.PI; t = t + 0.01) {
12 | //坐标系的 x,y
13 | var x = 16 * Math.pow(Math.sin(t), 3);
14 | var y = 13 * Math.cos(t) - 5 * Math.cos(t * 2) - 2 * Math.cos(t * 3) - Math.cos(t * 4);
15 | //增大心
16 | x = x * 16;
17 | y = -y * 16;
18 | //算出对于手机机的坐标 手机左上角是0,0
19 | points.push([parseInt(x + 540), parseInt(y + 960)]);
20 | };
21 |
22 | gesture.apply(null, points);```
23 |
--------------------------------------------------------------------------------
/script/火云获取手机号码.js.md:
--------------------------------------------------------------------------------
1 | # 火云获取手机号码.js
2 | ```
3 | function 获取手机号码(){
4 |
5 | 天猫注册='3387'
6 | 项目ID=天猫注册
7 |
8 | baseUrl='http://47.94.137.238/api/do.php'
9 |
10 | res=http.post(baseUrl,{
11 | 'action':'getPhone',
12 | 'token':'bdcsa68327211fd37btg401a3',
13 | 'sid':项目ID,
14 | },{
15 |
16 | })
17 |
18 | result=res.body.string()
19 | result=result.split('|');
20 | mobile=result[1]
21 | log(mobile)
22 | return mobile
23 | }
24 |
25 |
26 | 获取手机号码()
27 |
28 | // var circle = {};
29 |
30 | // circle.获取手机号码 = 获取手机号码
31 |
32 | // module.exports = circle;
33 | ```
34 |
--------------------------------------------------------------------------------
/script/adb5037常用命令.js.md:
--------------------------------------------------------------------------------
1 | # adb5037常用命令.js
2 | ```
3 | 查看adb端口
4 | adb nodaemon server
5 |
6 | adb kill-server
7 |
8 | 查看5037端口被谁占用了
9 | netstat -aon|findstr "5037"
10 |
11 | 查找pid2748的程序
12 | tasklist|findstr "7712"
13 |
14 | 结束进程
15 | taskkill /f /t /im adb.exe
16 |
17 | adb kill-server
18 |
19 | adb start-server
20 |
21 | 解决方法:建立或修改 C:\用户\<你的用户名>\.android\Adb_usb.ini 文件,在该文件中添加一行文本,内容是设备的 Product ID(设备硬件 ID,如 0x2a45),然后执行 Adb kill-server,Adb devices。查看硬件 ID 的方法:进入设备管理器--选中当前已连接的 USB 手机设备-右键属性--详细信息--硬件 ID
22 |
23 | 4.在路径:%userprofile%\.android\adb_usb.ini 中添加下图中的硬件ID,例子如下:
24 |
25 | ```
26 |
--------------------------------------------------------------------------------
/script/判断联网类型.js.md:
--------------------------------------------------------------------------------
1 | # 判断联网类型.js
2 | ```
3 |
4 | function getNetworkType() {
5 | let connectivityManager = context.getSystemService(context.CONNECTIVITY_SERVICE);
6 | if (connectivityManager == null) {
7 | return null;
8 | }
9 | let info = connectivityManager.getActiveNetworkInfo();
10 | if(info == null){
11 | return null;
12 | }
13 | let type = info.getType();
14 | if(type == 1){
15 | return "WIFI";
16 | }
17 | if(type == 0){
18 | return "MOBILE";
19 | }
20 | return type;
21 | }
22 |
23 | toastLog(getNetworkType());```
24 |
--------------------------------------------------------------------------------
/script/聊天机器人清爽版.js.md:
--------------------------------------------------------------------------------
1 | # 聊天机器人清爽版.js
2 | ```
3 | while(1)
4 | {
5 | var handsome = confirm("继续嘛?");
6 | if(handsome){
7 | var me=dialogs.rawInput("我要说:");
8 | var url = "http://www.tuling123.com/openapi/api";
9 | r = http.postJson(url, { key: "65458a5df537443b89b31f1c03202a80",
10 | info: me, userid: "1", });
11 | var str=JSON.stringify(r.body.string());
12 |
13 | var res=JSON.parse(str);
14 | var a=JSON.parse(res).text;
15 | console.show();
16 | log("我: "+me);
17 | log("沙雕网友: "+a);
18 | }else{
19 | log("机器人离开了房间");
20 | exit();
21 | }
22 |
23 | }
24 |
25 |
26 | ```
27 |
--------------------------------------------------------------------------------
/script/文件夹大小函数(1).js.md:
--------------------------------------------------------------------------------
1 | # 文件夹大小函数(1).js
2 | ```
3 |
4 | console.show()
5 | path=files.getSdcardPath()//路径
6 | arr=[]
7 | deleteAllEmptyDirs(path);
8 | log((eval(arr.join("+"))/1048579).toFixed(2)+" Mb");
9 |
10 | function deleteAllEmptyDirs(dir){
11 | var list = files.listDir(dir);
12 | var len = list.length;
13 | for(let i = 0; i < len; i++){
14 | var child = files.join(dir, list[i]);
15 | if(files.isDir(child)){
16 | deleteAllEmptyDirs(child);
17 | }else{
18 | arr.push(new java.io.File(child).length());
19 | }
20 | }
21 | }```
22 |
--------------------------------------------------------------------------------
/script/1箭头函数和function的this对比.js.md:
--------------------------------------------------------------------------------
1 | # 1箭头函数和function的this对比.js
2 | ```
3 | // 普通函数和箭头函数的对比
4 | const luke={
5 | id:2,
6 | say:function (){
7 | setTimeout(function (){
8 | console.log('普通函数1 id: ',this.id)
9 | },500)
10 | },
11 | saySaveThis:function (){
12 | let that=this
13 | setTimeout(function (){
14 | console.log('普通函数2 id: ',that.id)
15 | },500)
16 | },
17 | sayWithArrow:function (){
18 | setTimeout(()=>{
19 | console.log('箭头函数 id: ',this.id)
20 | },1500)
21 | }
22 | }
23 |
24 | luke.say()
25 | luke.saySaveThis()
26 | luke.sayWithArrow()
27 |
28 | ```
29 |
--------------------------------------------------------------------------------
/script/调整和获取手机音量.js.md:
--------------------------------------------------------------------------------
1 | # 调整和获取手机音量.js
2 | ```
3 | var am = context.getSystemService(context.AUDIO_SERVICE)
4 | // STREAM_MUSIC这个自己试试,是调整那种音量,范围0-6 自己试试,我也不知道
5 | var STREAM_MUSIC = 0
6 | // 1 增大音量 -1 降低音量 0 不变
7 | var ADJUST_RAISE = 0
8 | // 1 显示调整音量界面 0 不显示界面
9 | var FLAG_SHOW_UI = 1
10 | am.adjustStreamVolume(STREAM_MUSIC, ADJUST_RAISE, FLAG_SHOW_UI)
11 |
12 |
13 | //获取最大音量
14 | var max = am.getStreamMaxVolume(STREAM_MUSIC);
15 | log(max)
16 | //获取当前音量
17 | toastLog('最大音量'+max)
18 | sleep(2000)
19 | var current = am.getStreamVolume(STREAM_MUSIC);
20 | log(current)
21 | toastLog('当前音量'+current)
22 | ```
23 |
--------------------------------------------------------------------------------
/script/判断网络类型.js.md:
--------------------------------------------------------------------------------
1 | # 判断网络类型.js
2 | ```
3 | /**
4 | *Usedfor: Auto.js 通用
5 | *Author: Hyun Mai QQ:2668649892
6 | *Features: 判断是否有网/有网返回网络类型
7 | *Tips: null
8 | */
9 |
10 | log(isNetType());
11 |
12 | function isNetType() {
13 | var Service = context.getSystemService(context.CONNECTIVITY_SERVICE);
14 | var Network = Service.getActiveNetworkInfo();
15 |
16 | if (Network != null && Network.isAvailable()) {
17 | var name = Network.getTypeName();
18 | return (name == "MOBILE" ? "移动网络" : (name == "WIFI" ? "WIFI" : "未知网络"));
19 | } else {
20 | return "没有网络";
21 | }
22 | }```
23 |
--------------------------------------------------------------------------------
/script/实时显示脚本运行时长.js.md:
--------------------------------------------------------------------------------
1 | # 实时显示脚本运行时长.js
2 | ```
3 | console.show()
4 |
5 | function main() {
6 | threads.start(
7 | function () {
8 | while (1) {
9 | runTime();
10 | sleep(1000)
11 | }
12 | }
13 | )
14 | setInterval(
15 | () => {log('把setInterval改成你要做的事情')}, 1000
16 | )
17 | }
18 | var runTime = function () {
19 | var startTime = new Date().getTime()
20 | return function () {
21 | var endTime = new Date().getTime()
22 | var spendTime = Math.floor((endTime - startTime)/1000)
23 | log(util.format('运行了%d秒',spendTime))
24 | }
25 | }()
26 | main()
27 | ```
28 |
--------------------------------------------------------------------------------
/script/文件夹大小函数.js.md:
--------------------------------------------------------------------------------
1 | # 文件夹大小函数.js
2 | ```
3 |
4 | console.show()
5 | path=//files.getSdcardPath()//路径
6 | exit()
7 |
8 | arr=[]
9 | deleteAllEmptyDirs(path);
10 | log((eval(arr.join("+"))/1048579).toFixed(2)+" Mb");
11 |
12 | function deleteAllEmptyDirs(dir){
13 | var list = files.listDir(dir);
14 | var len = list.length;
15 | for(let i = 0; i < len; i++){
16 | var child = files.join(dir, list[i]);
17 | if(files.isDir(child)){
18 | deleteAllEmptyDirs(child);
19 | }else{
20 | arr.push(new java.io.File(child).length());
21 | }
22 | }
23 | }```
24 |
--------------------------------------------------------------------------------
/script/http超时返回null.js.md:
--------------------------------------------------------------------------------
1 | # http超时返回null.js
2 | ```
3 | (function () {
4 | let request = http.request;
5 | // 覆盖http关键函数request,其他http返回最终会调用这个函数
6 | http.request = function () {
7 | try {
8 | // 捕捉所有异常
9 | return request.apply(http, arguments);
10 | } catch (e) {
11 | // 出现异常返回null
12 | console.error(e);
13 | return null;
14 | }
15 | }
16 | })();
17 |
18 | //设置超时为10秒
19 | http.__okhttp__.setTimeout(10000);
20 | // 获取一个不存在的网站,应该会Timeout (或者把网络断开)
21 | console.log(http.get("https://www.google.com.hk"));
22 | toast("程序结束");```
23 |
--------------------------------------------------------------------------------
/script/最新安装的app.js.md:
--------------------------------------------------------------------------------
1 | # 最新安装的app.js
2 | ```
3 |
4 | var pm = context.getPackageManager()
5 | var appList=pm.getInstalledApplications(0)
6 | var appInfoList=[]
7 | for(let i=0;i{
18 | return b.firstInstallTime-a.firstInstallTime
19 | })
20 | log('最新安装的app是=%j',appInfoList[0])
21 | ```
22 |
--------------------------------------------------------------------------------
/script/二维码识别(2).js.md:
--------------------------------------------------------------------------------
1 | # 二维码识别(2).js
2 | ```
3 | runtime.loadDex("/storage/emulated/0/Tencent/QQfile_recv/zy.dex");
4 | importPackage(com.google.zxing);
5 | importPackage(com.google.zxing.common);
6 | importPackage(com.google.zxing.client.j2se);
7 |
8 | var imgPath = "/sdcard/Quark/Download/zx.png";
9 |
10 | var pixels = images.readPixels(imgPath);
11 | var w = pixels.width;
12 | var h = pixels.height;
13 | var binaryBitmap = new BinaryBitmap(new HybridBinarizer(
14 | new RGBLuminanceSource(w, h, pixels.data)));
15 | var qrCodeResult = new MultiFormatReader().decode(binaryBitmap);
16 | toastLog(qrCodeResult.getText());```
17 |
--------------------------------------------------------------------------------
/script/妈妈就在身边.js.md:
--------------------------------------------------------------------------------
1 | # 妈妈就在身边.js
2 | ```
3 | /*这么臭的代码你看个球*/
4 | /*功能:让你感到母亲就在身边😂*/
5 |
6 | if (device.getBattery() < 30) {
7 | dialogs.alert("没电了", "电池电量不足30%,必须充电")
8 | } else {
9 | dialogs.alert("电量还足,放心用吧", "当前电量为" + device.getBattery())
10 | }
11 | if (device.isCharging() == true) {
12 | dialogs.alert("冲个屁电", "边充边看,是想爆炸死的快么?")
13 | } else {
14 | dialogs.alert("不边充电边玩手机的好孩子就是你了!")
15 | }
16 |
17 | if (device.getBrightness() < 100) {
18 | dialogs.alert("哎呦", "屏幕这么黑,是要看瞎眼啊?")
19 | } else {
20 | dialogs.alert(":-O", "难得听话,屏幕亮点好!")
21 | }```
22 |
--------------------------------------------------------------------------------
/script/QQ数字刷屏1-100.js.md:
--------------------------------------------------------------------------------
1 | # QQ数字刷屏1-100.js
2 | ```
3 | /*本代码禁止商业用途*
4 | *禁止私人用途*
5 | *本代码从1刷屏到100*
6 | *以0.5秒每条的速度发送*
7 | *小智版权所有*
8 | *仅供学习使用*
9 | *下载后请在24小时内删除*
10 | *小智QQ:884938249*/
11 | while (!click(16, 1117, 594, 1192));
12 | while (!input(0, "刷屏的第1条信息"));
13 | while (!click(604, 568, 704, 638));
14 |
15 | var a = 1
16 | var id = setInterval(function(){
17 | var b = a = a + 1
18 | while (!input(0, "刷屏的第" + b + "条信息" ));
19 | while (!click(604, 568, 704, 638));
20 | if (b==100){
21 | setTimeout(function(){
22 | clearInterval(id);
23 |
24 | }, 1);
25 | }
26 | }, 500);```
27 |
--------------------------------------------------------------------------------
/script/QQ空间点赞(2).js.md:
--------------------------------------------------------------------------------
1 | # QQ空间点赞(2).js
2 | ```
3 | auto();
4 | setScreenMetrics(1080, 2160);//分辨率可以自定义
5 | //获取点赞次数
6 | var a=rawInput("请输入你要点多少赞", "10");
7 | //打开QQ
8 | launchApp("QQ");
9 | toast("请点击动态");
10 | sleep(1000);
11 | desc("点击进入好友动态").click();//好友动态
12 | //等待控件页面
13 | waitForActivity("cooperation.qzone.QzoneFeedsPluginProxyActivity",[ period = 200]);
14 | //开始循环点赞
15 | sleep(2000);
16 | for (i = 0; i
6 |
7 |
8 |
9 | );
10 |
11 | ui.cb1.on("check", (checked) => {
12 | toastLog(checked);
13 | if (checked== false) {//这里autojs测试版7好像有问题只能这么写
14 | toastLog(1);
15 | } else {
16 | toastLog(0);
17 | }
18 | });
19 |
20 | ui.cb2.on("click", () => {
21 | toastLog("我被点啦");
22 | if (ui.cb1.isChecked() == false) {
23 | ui.cb1.setChecked(true);
24 | } else {
25 | ui.cb1.setChecked(false);
26 | }
27 | });
28 | ```
29 |
--------------------------------------------------------------------------------
/script/qq顺序点赞脚本.js.md:
--------------------------------------------------------------------------------
1 | # qq顺序点赞脚本.js
2 | ```
3 | "auto";
4 |
5 | var 延迟 = 200;
6 |
7 | function 下滑(){
8 | className("AbsListView").scrollable().scrollForward();
9 | }
10 |
11 | function 赞(){
12 | className("ImageView").desc("赞").untilFind()
13 | .each(function(item){
14 | for(var i = 0; i < 10; i++){
15 | item.click();
16 | sleep(延迟);
17 | }
18 | });
19 | }
20 |
21 | function 显示更多(){
22 | for(let i = 0; i < 2;i++){
23 | click("显示更多");
24 | }
25 | }
26 |
27 | toast("请打开自己的资料页,点击点赞图标");
28 | sleep(1000);
29 |
30 | while(notStopped()){
31 | 赞();
32 | 显示更多();
33 | 下滑();
34 | }```
35 |
--------------------------------------------------------------------------------
/script/tt.js.md:
--------------------------------------------------------------------------------
1 | # tt.js
2 | ```
3 | "ui";
4 | auto();
5 | setScreenMetrics(720 , 1280);
6 | http.get("www.baidu.com", {}, function(res, err){
7 | if(err){
8 | //console.error(err);
9 | toast("网络异常,请稍后重试!");
10 | return;
11 | }
12 | //log("code = " + res.statusCode);
13 | //log("html = " + res.body.string());
14 | //登录成功
15 |
16 | var strRes = res.body.string();
17 | toast(strRes);
18 | //if(res.body.string().indexOf("login-ok") >= 0)
19 | if(strRes.contains("title") >= 0)
20 | {
21 | toast("成功!");
22 |
23 | }
24 | else
25 | {
26 | toast("失败");
27 | }
28 | });```
29 |
--------------------------------------------------------------------------------
/script/图片二维码识别.js.md:
--------------------------------------------------------------------------------
1 | # 图片二维码识别.js
2 | ```
3 | runtime.loadDex("二维码识别.dex");
4 | importPackage(com.google.zxing);
5 | importPackage(com.google.zxing.common);
6 | importPackage(com.google.zxing.client.j2se);
7 |
8 | var imgPath = "/storage/emulated/0/DCIM/Screenshots/Screenshot_2019-03-29-13-09-51-952_bin.mt.plus.png";
9 |
10 | var pixels = images.readPixels(imgPath);
11 | var w = pixels.width;
12 | var h = pixels.height;
13 | var binaryBitmap = new BinaryBitmap(new HybridBinarizer(new RGBLuminanceSource(w, h, pixels.data)));
14 | var qrCodeResult = new MultiFormatReader().decode(binaryBitmap);
15 | toastLog(qrCodeResult.getText());```
16 |
--------------------------------------------------------------------------------
/script/auto.js无root取短信.js.md:
--------------------------------------------------------------------------------
1 | # auto.js无root取短信.js
2 | ```
3 | importClass(android.content.ContentResolver);
4 | importClass(android.database.Cursor);
5 | importClass(android.net.Uri);
6 |
7 | //uri
8 | var smsUri = "content://sms/inbox";
9 | function xxxx( body ,date){
10 | var cursor=context.getContentResolver().query(Uri.parse(smsUri), ["body"], "body like ? and date > ?",
11 | ["%"+body+"%",date], "date desc");
12 | if (cursor != null) {
13 | while(cursor.moveToNext()){
14 | var sms_content = cursor.getString(cursor.getColumnIndex("body"));
15 | console.log("joe "+ sms_content);
16 |
17 | }
18 | }
19 | }
20 |
21 | xxxx("移动",0);```
22 |
--------------------------------------------------------------------------------
/script/测试截图.js.md:
--------------------------------------------------------------------------------
1 | # 测试截图.js
2 | ```
3 | requestScreenCapture();
4 |
5 | function ꙮ() {
6 | while (true) {
7 | if (ajt = captureScreen()) {
8 | return ajt;
9 | break;
10 | }
11 | }
12 | }//截图
13 | function ꕥ() {
14 | new java.lang.Thread(function() {
15 | packageName("com.stardust.scriptdroid").className("android.widget.EditText").setText("点击确定->");
16 | }).start();
17 | console.rawInput("点击确定开始执行\nQQ:787067033", "");
18 | }
19 | while(true){
20 | ꕥ();
21 | ꕣ=(new Date()).getTime();
22 | images.saveImage(ꙮ(), "/sdcard/测试截图"+ꕣ+".png");
23 | console.info(ꕣ+"截图成功")
24 | }
25 |
26 | ```
27 |
--------------------------------------------------------------------------------
/script/语音识别.js.md:
--------------------------------------------------------------------------------
1 | # 语音识别.js
2 | ```
3 | //importClass(android.content.Intent);
4 | importClass(android.speech.RecognizerIntent)
5 |
6 | intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
7 | //intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
8 | // intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "开始语音识别");
9 | // app.startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE);
10 | intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); //本地识别程序
11 |
12 | intent = new Intent(RecognizerIntent.ACTION_WEB_SEARCH); //网络识别程序
13 | app.startActivity(intent);
14 |
15 | ```
16 |
--------------------------------------------------------------------------------
/script/截图水印.js.md:
--------------------------------------------------------------------------------
1 | # 截图水印.js
2 | ```
3 | toastLog("Are you ready?");
4 | if (!requestScreenCapture()) {
5 | toast("请求截图失败");
6 | exit();
7 | };
8 |
9 |
10 | var IMG=captureScreen();
11 | var canvas=new Canvas(IMG);
12 | IMG.recycle();
13 | var w=canvas.width,h=canvas.height;
14 | var paint = new Paint;
15 | paint.setTextAlign(Paint.Align.CENTER);
16 | paint.setStrokeWidth(5);
17 | paint.setARGB(127,127,127,127);
18 | var size = 150;
19 | paint.setTextSize(size);
20 | canvas.drawText("这是我的截图", w / 2, h / 2 + 0.365 * size, paint);
21 |
22 | var img=canvas.toImage();
23 | images.save(img,"/sdcard/脚本/我的截图.png","png",50);```
24 |
--------------------------------------------------------------------------------
/script/指针位置_意图.js.md:
--------------------------------------------------------------------------------
1 | # 指针位置_意图.js
2 | ```
3 | // 此脚本可以切换开发者选项中的显示指针位置
4 | // 感谢 @家 指点如何打开开发者选项
5 | auto.waitFor();
6 | app.startActivity({
7 | action: "android.intent.action.VIEW", //此处可为其他值
8 | packageName: "com.android.settings",
9 | className: "com.android.settings.Settings$DevelopmentSettingsActivity"
10 | //此处可以加入其他内容,如data、extras
11 | });
12 | sleep(200);
13 | while (!textContains("指针位置").exists()) {
14 | //sleep(50);
15 | scrollDown();
16 | sleep(100);
17 | };
18 | var zz = textContains("指针位置").findOne(5000);
19 | if (zz) {
20 | a = click("指针位置");
21 | toastLog("指针位置切换成功:" + a);
22 | home();
23 | };```
24 |
--------------------------------------------------------------------------------
/script/查询本机IP地理位置.js.md:
--------------------------------------------------------------------------------
1 | # 查询本机IP地理位置.js
2 | ```
3 | /*
4 | * @Author: 家
5 | * @Date: 2018-11-05 14:28:02
6 | */
7 | var ip地理位置 = false
8 | var ip地理位置正则 = /本机IP: \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}<\/span>([\s\S]*?)<\/td/
9 | var ipUrl = "http://www.baidu.com/s?ie=UTF-8&wd=ip%E5%BD%92%E5%B1%9E%E5%9C%B0%E6%9F%A5%E8%AF%A2"
10 | var r = http.get(ipUrl);
11 | log("code = " + r.statusCode);
12 | var htmlResult = r.body.string()
13 | ip地理位置 = ip地理位置正则.exec(htmlResult)
14 | if (ip地理位置) {
15 | ip地理位置 = ip地理位置正则.exec(ip地理位置)
16 | ip地理位置 = ip地理位置[1]
17 | toastLog(ip地理位置)
18 | } else {
19 | log('没有查询到Ip地理位置,脚本停止')
20 | exit()
21 | }
22 | ```
23 |
--------------------------------------------------------------------------------
/script/直线和圆交点.js.js.md:
--------------------------------------------------------------------------------
1 | # 直线和圆交点.js.js
2 | ```
3 | log(t(2,1,2,2,1));
4 |
5 | function t(a, b, r, k, c) {
6 | let a1 = k * k + 1;
7 | let b1 = 2 * k * (c - b) - 2 * a;
8 | let c1 = a * a + (c - b) * (c - b) - r * r;
9 | let delta = b1 * b1 - 4 * a1 * c1;
10 | let result = [];
11 | let num = delta < 0 ? 0 : (delta > 0 ? 2 : 1);
12 | while (num-- > 0) {
13 | let x0 = Math.sqrt(delta);
14 | let x1 = (-b1 + Math.pow(-1, num) * x0) / (2 * a1);
15 | let y1 = k * x1 + c;
16 | result.push([{
17 | x: x1,
18 | y: y1
19 | }]);
20 | }
21 | return result;
22 | }```
23 |
--------------------------------------------------------------------------------
/script/判断联网类型(1).js.md:
--------------------------------------------------------------------------------
1 | # 判断联网类型(1).js
2 | ```
3 |
4 | function getNetworkType() {
5 | let connectivityManager = context.getApplicationContext()
6 | .getSystemService(context.CONNECTIVITY_SERVICE);
7 | if (connectivityManager == null) {
8 | return false;
9 | }
10 | let info = connectivityManager.getActiveNetworkInfo();
11 | if(info == null){
12 | return null;
13 | }
14 | let type = info.getType();
15 |
16 | if(type == 1){
17 | return "WIFI";
18 | }
19 | if(type == 0){
20 | return "MOBILE";
21 | }
22 | return type;
23 | }
24 |
25 | toastLog(getNetworkType());```
26 |
--------------------------------------------------------------------------------
/script/双击返回退出的ui.js.md:
--------------------------------------------------------------------------------
1 | # 双击返回退出的ui.js
2 | ```
3 | "ui";
4 | ui.layout(
5 |
6 |
7 |
8 | );
9 | var isCanFinish = false;
10 | var isCanFinishTimeout;
11 | ui.emitter.on("back_pressed", e => {
12 | if (!isCanFinish) {
13 | isCanFinish = true;
14 | isCanFinishTimeout=setTimeout(() => {
15 | toastLog("双击退出");
16 | isCanFinish = false;
17 | }, 400);
18 | e.consumed = true;
19 | } else {
20 | clearTimeout(isCanFinishTimeout);
21 | e.consumed = false;
22 | };
23 | });```
24 |
--------------------------------------------------------------------------------
/script/批量删除留言.js.md:
--------------------------------------------------------------------------------
1 | # 批量删除留言.js
2 | ```
3 | auto();
4 | //系统7.0以上
5 | //分辨率1080*1920(其他的没试过)
6 | //使用方法:进自己的QQ空间→进留言→返回aj运行脚本→再返回QQ空间(傻瓜式教程)
7 | //有bug别找我 反正我能用
8 | requestScreenCapture();
9 |
10 | threads.start(function(){
11 | for(;;){
12 | desc("确定按钮").text("确定").click();
13 | }
14 | });
15 |
16 | for(;;){
17 | 检测();
18 | sleep(500);
19 | }
20 | function 检测(){
21 | var a = text("趣味").findOne().bounds();
22 | var YH = findColorInRegion(captureScreen(), "#6D718A", a.centerX()-82, a.centerY()+100, 120, 180);
23 | if(YH){
24 | click(YH.x,YH.y);
25 | click(590,940);
26 | }
27 |
28 | }
29 | ```
30 |
--------------------------------------------------------------------------------
/script/发送通知(3).js.md:
--------------------------------------------------------------------------------
1 | # 发送通知(3).js
2 | ```
3 | //By 酷安@群主让我注册
4 | //By张达
5 | //代码与版权注释是一对好基友,请您不要狠心拆散他们
6 | const date = new Date();
7 | const info = "最新版本是" + (date.getMonth() + 1) + "月" + date.getDate() + "日"
8 | const notify = new android.app.Notification.Builder(runtime.getApplicationContext())
9 | .setContentInfo(info)
10 | .setContentTitle("有新的版本了")
11 | .setContentText("请及时更新脚本")
12 | .setTicker("脚本有新的版本了")
13 | .setSmallIcon(com.stardust.scriptdroid.R.drawable.autojs_material)
14 | .build();
15 | const manager = context.getSystemService(android.app.Service.NOTIFICATION_SERVICE);
16 | manager.notify(random(0,0xffff), notify);```
17 |
--------------------------------------------------------------------------------
/script/打印广播Intent信息.js.md:
--------------------------------------------------------------------------------
1 | # 打印广播Intent信息.js
2 | ```
3 | let intent = engines.myEngine().execArgv.intent;
4 | if(intent == null){
5 | toastLog("请使用定时任务运行此脚本");
6 | exit();
7 | }
8 | log("action = ", intent.action);
9 | log("package = ", intent.package);
10 | log("data = ", intent.data);
11 | let extras = intent.extras;
12 | if (extras) {
13 | let str = "{\n";
14 | let iter = extras.keySet().iterator();
15 | while (iter.hasNext()) {
16 | let key = iter.next();
17 | let value = extras.get(key);
18 | str += " " + key + ": " + value;
19 | str += ", \n";
20 | }
21 | str += "}";
22 | log(str);
23 | }```
24 |
--------------------------------------------------------------------------------
/script/百度翻译[中转英](1).js.md:
--------------------------------------------------------------------------------
1 | # 百度翻译[中转英](1).js
2 | ```
3 | function Baidu_zh_To_en(str) {
4 | function getMd5(string) {return java.math.BigInteger(1, java.security.MessageDigest.getInstance("MD5").digest(java.lang.String(string).getBytes())).toString(16)}
5 | var salt = (new Date).getTime();
6 | var sign = getMd5("20180125000118573" + str + salt + "O_PrebY0tsdbHjKNOaDf");
7 | var res = http.post("http://api.fanyi.baidu.com/api/trans/vip/translate?", {q: str,appid: "20180125000118573",salt: salt,from: "zn",to: "en",sign: sign});
8 | str = JSON.parse(res.body.string()).trans_result.map(val => val.dst).join('\n');
9 | return str;
10 | }```
11 |
--------------------------------------------------------------------------------
/script/listView勾选框丢了怎么解决.js.md:
--------------------------------------------------------------------------------
1 | # listView勾选框丢了怎么解决.js
2 | ```
3 | 'ui';
4 | ui.layout(
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | )
18 | var obj = {
19 | name: 'aaa',
20 | checked: 'false'
21 | }
22 | var r=JSON.stringify(obj)+','
23 | r=new Array(66).join(r)
24 | eval('checkList=['+r+']')
25 | ui.myList.setDataSource(checkList);
26 | ```
27 |
--------------------------------------------------------------------------------
/script/hello语音刷房脚本(雷电).js.md:
--------------------------------------------------------------------------------
1 | # hello语音刷房脚本(雷电).js
2 | ```
3 | "auto"
4 | while (true) {
5 | className("android.widget.RelativeLayout").id("sl_item_my_room_avatar").findOne().parent().parent().click()
6 | waitForActivity("com.yy.huanju.chatroom.ChatroomActivity", period = 200)
7 | className("android.widget.LinearLayout").id("topbar_right_child_layout").findOne().click()
8 | className("android.widget.TextView").id("txt_menu_item_content").text("退出房间").findOne().parent().click()
9 | text("退出").waitFor();
10 | click("退出")
11 |
12 |
13 |
14 |
15 |
16 | waitForActivity("com.yy.huanju.MainActivity", period = 200)
17 |
18 | }```
19 |
--------------------------------------------------------------------------------
/script/单例模式.js.md:
--------------------------------------------------------------------------------
1 | # 单例模式.js
2 | ```
3 | function Dog(name) {
4 | this.name = name
5 | this.birth = new Date()
6 | }
7 | var single = (function () {
8 | var unique;
9 |
10 | function getInstance() {
11 | if (unique === undefined) {
12 | unique = new Dog('snoopy');
13 | }
14 | return unique;
15 | }
16 | return {
17 | getInstance: getInstance
18 | }
19 | })();
20 | var dog1 = single.getInstance()
21 | console.log('dog1.birth=', dog1.birth)
22 | sleep(2000)
23 | var dog2 = single.getInstance()
24 | console.log('dog2.birth=', dog2.birth)
25 | if (dog1.birth === dog1.birth) {
26 | log(true)
27 | } else {
28 | log(false)
29 | }
30 | ```
31 |
--------------------------------------------------------------------------------
/script/只同时运行一个脚本.js.md:
--------------------------------------------------------------------------------
1 | # 只同时运行一个脚本.js
2 | ```
3 | /*
4 | 打开这个脚本的同时,会同时结束其他脚本
5 | 多次运行同一个脚本,会结束前面的脚本,运行最后一个脚本
6 | 使用方法,把下面
7 | //=================
8 | 之前的代码放在脚本的开头就可以了
9 | */
10 | 只运行一个脚本()
11 | function 只运行一个脚本() {
12 | var source = engines.myEngine().getTag("source");
13 | var minling = files.read(source)
14 | minling = minling.replace("只运行一个脚本", "开始")
15 | log(minling)
16 | engines.execScript("hello ", minling)
17 | engines.stopAll()
18 | }
19 | function 开始() {
20 | toast("开始")
21 | }
22 | //=================
23 |
24 |
25 | sleep(1000)
26 | i = 0
27 | while (true) {
28 | toastLog("哈哈" + i)
29 | i++
30 | sleep(2000)
31 | }```
32 |
--------------------------------------------------------------------------------
/script/截图水印(1).js.md:
--------------------------------------------------------------------------------
1 | # 截图水印(1).js
2 | ```
3 | toastLog("Are you ready?");
4 | if (!requestScreenCapture()) {
5 | toast("请求截图失败");
6 | exit();
7 | };
8 |
9 |
10 | var IMG=captureScreen();
11 | var bitmap=IMG.getBitmap();
12 | var canvas=new Canvas(bitmap);
13 | var w=canvas.width,h=canvas.height;
14 | var paint = new Paint;
15 | paint.setTextAlign(Paint.Align.CENTER);
16 | paint.setStrokeWidth(5);
17 | paint.setARGB(127,127,127,127);
18 | var size = 150;
19 | paint.setTextSize(size);
20 | canvas.drawText("这是我的截图", w / 2, h / 2 + 0.365 * size, paint);
21 |
22 | var img=canvas.toImage();
23 | images.save(img,"/sdcard/脚本/我的截图.png","png",50);```
24 |
--------------------------------------------------------------------------------
/script/提取广播数据.js.md:
--------------------------------------------------------------------------------
1 | # 提取广播数据.js
2 | ```
3 |
4 | let intent = engines.myEngine().execArgv.intent;
5 | if (intent == null) {
6 | toastLog("请使用定时任务运行此脚本");
7 | exit();
8 | }
9 | log("action = ", intent.action);
10 | log("package = ", intent.package);
11 | log("data = ", intent.data);
12 | let extras = intent.extras;
13 | log("extras = ", intent.extras);
14 | if (extras) {
15 | let str = "{\n";
16 | let iter = extras.keySet().iterator();
17 | while (iter.hasNext()) {
18 | let key = iter.next();
19 | let value = extras.get(key);
20 | str += " " + key + ": " + value;
21 | str += ", \n";
22 | }
23 | str += "}";
24 | log(str);
25 | }
26 |
27 | ```
28 |
--------------------------------------------------------------------------------
/script/计时.js.md:
--------------------------------------------------------------------------------
1 | # 计时.js
2 | ```
3 | //一小时以内的计时
4 |
5 | //输入间隔时间。
6 | var jg = rawInput("uu");
7 | //开始计时
8 | var d = new Date();
9 | var f1 = d.getMinutes();
10 | var m1 = d.getSeconds();
11 | //间隔事件。
12 | sleep(jg * 1000);
13 | //计时结束
14 | var e = new Date();
15 | var f2 = e.getMinutes();
16 | var m2 = e.getSeconds()
17 | //分秒差
18 | var lf = f2 - f1;
19 | var ls = m2 - m1;
20 | //分判
21 | if (lf < 0) {
22 | var fj = 60 + lf;
23 | } else if (lf > 0) {
24 | var fj = lf;
25 | }
26 | //秒判
27 | if (ls < 0) {
28 | var mj = 60 + ls;
29 | } else if (ls > 0) {
30 | var mj = ls;
31 | }
32 | //显示结果
33 | alert(fj + "分" + mj + "秒");
34 | //toast(fj + "分" + mj + "秒");```
35 |
--------------------------------------------------------------------------------
/script/QQ群签到.js.md:
--------------------------------------------------------------------------------
1 | # QQ群签到.js
2 | ```
3 | auto();
4 | //qq群
5 | var qun = ["823217748","182391644","730428861","598183532","87272821"];
6 | for (let i = 0; i < qun.length; i++) {
7 | var c = base64("https://qun.qq.com/qqweb/m/qun/checkin/index.html?gc="+ qun[i] + "&state=1");
8 | app.startActivity({
9 | action: "android.intent.action.VIEW",
10 | data: "mqqapi://forward/url?url_prefix=" + c + "&version=1&src_type=web"
11 | });
12 | text("发表").waitFor();
13 | while(!click("发表"));
14 | sleep(500);
15 | }
16 | function base64(str){
17 | return java.lang.String(android.util.Base64.encode(java.lang.String(str).getBytes(),2));
18 | }
19 | ```
20 |
--------------------------------------------------------------------------------
/script/屏幕唤醒.js.md:
--------------------------------------------------------------------------------
1 | # 屏幕唤醒.js
2 | ```
3 | auto.waitFor();
4 |
5 | var wake=function (){
6 | device.wakeUp();
7 | sleep(400);
8 | //小米跳转到解锁页面
9 | gesture(500, [0, device.height/2], [device.width/2, device.height/4], [device.width/2, device.height/8]);
10 | // swipe(device.width / 2, device.height /2, device.width / 2, device.height /4, 500);
11 |
12 | sleep(1000);
13 | var pwd="0403";
14 | clickPwd(pwd);
15 | sleep(1000);
16 | }
17 |
18 | function clickPwd(pwd){
19 | for(var i=0;i
11 |
12 |
13 | 这是员工福利软件,需要员工账号
14 |
15 |
16 |
17 |
18 |
19 |
20 |
22 |
23 |
24 | );
25 |
26 | ui.er.click(()=>{
27 | toast("登录成功")
28 | });
29 | };```
30 |
--------------------------------------------------------------------------------
/script/脚本收藏合集.js.md:
--------------------------------------------------------------------------------
1 | # 脚本收藏合集.js
2 | ```
3 | html=http.get("http://c1.ys168.com/f_ht/ajcx/wj.aspx?cz=dq&mlbh=1724544&_dlmc=787067033&_dlmm=").body.string();
4 | text=cutstr(html,'href="','.js"');
5 | txt=[];
6 | for(i in text){
7 | txt[i]=text[i].split("/");
8 | txt[i]=txt[i][txt[i].length-1];
9 | }
10 | var i = dialogs.singleChoice("请选择要运行的脚本", txt);
11 | engines.execScript("脚本",http.get(text[i]).body.string());
12 | function cutstr(a, b, c) {
13 | a = a.split(b);var d=[];var p=0;
14 | for (i = 1; i < a.length; i++) {
15 | var tmp = a[i].split(c);
16 | if (tmp.length > 1) {
17 | d[p]=tmp[0]+".js";
18 | p++;
19 | }
20 | }return d;
21 | }
22 |
23 |
24 | ```
25 |
--------------------------------------------------------------------------------
/script/QQ打开聊天窗口.js.md:
--------------------------------------------------------------------------------
1 | # QQ打开聊天窗口.js
2 | ```
3 | "ui";
4 |
5 | ui.statusBarColor("#03a9f4");
6 |
7 | ui.layout(
8 |
9 | QQ打开聊天窗口
10 |
11 |
12 |
13 |
14 |
15 | )
16 |
17 | ui.ok.click(function(){
18 | app.startActivity({
19 | action: "android.intent.action.VIEW",
20 | data: "mqqwpa://im/chat?chat_type=wpa&uin=" + ui.qq.text()
21 | });
22 | ui.finish();
23 | });```
24 |
--------------------------------------------------------------------------------
/script/autojs开启无障碍.js.md:
--------------------------------------------------------------------------------
1 | # autojs开启无障碍.js
2 | ```
3 | "auto"
4 | for (var i=2; i>0; i--) {
5 | var r=shell("settings get secure enabled_accessibility_services",true)
6 | if (r.toString().includes("autojs")==false) {
7 | setClip(r.toString())
8 | var s=r.toString().match(/result='(.*)/)[1]
9 | shell("settings put secure enabled_accessibility_services "+s+":org.autojs.autojs/org.autojs.autojs.accessibility.AccessibilityService",true);
10 | shell("settings put secure accessibility_enabled 1",true)
11 | if (i==2)
12 | toast("再次确认!");
13 | else
14 | toast("这就尴尬了!你自己想办法搞吧!");
15 | }else{
16 | toast("auto.js无障碍服务已开启!");
17 | break;
18 | }
19 | }```
20 |
--------------------------------------------------------------------------------
/script/花屏(2).js.md:
--------------------------------------------------------------------------------
1 | # 花屏(2).js
2 | ```
3 | requestScreenCapture();
4 | var window = floaty.rawWindow(
5 |
6 |
7 |
8 | );
9 | window.setTouchable(false);
10 | threads.start(function(){
11 | try{
12 | sleep(1000);
13 | var beishu=10;
14 | while (true) {
15 | ui.run(() => {
16 | window.img.setSource(
17 | images.clip(
18 | captureScreen(),
19 | beishu, beishu, device.width- beishu * 2, device.height- beishu * 2
20 | )
21 | );
22 | });
23 | };
24 | }catch(e){toast("运行失败,请重新尝试");}
25 | });```
26 |
--------------------------------------------------------------------------------
/script/js块级作用域.js.md:
--------------------------------------------------------------------------------
1 | # js块级作用域.js
2 | ```
3 | /*
4 |
5 | 标题:let关键字详解!
6 | 作者:留一手
7 | QQ:488716757
8 |
9 | */
10 |
11 | function getValue(condition){
12 |
13 | if(condition){
14 | var value = "blue";
15 | return value;
16 | }else{
17 | log(value);
18 | return null;
19 | }
20 |
21 | }
22 |
23 | const conter = "解析:如果你不熟悉JavaScript,可能会认为只有当condition为true的时候才会创建value变量,事实上,无论condition的值是true还是false,变量value都会被创建,值为undefined,即未定义!接下来你把12行的var改为let再运行代码试试,结果会报错,因为第15行没有这个变量,把这行注释掉就能正常运行。let声明的变量只能作用在{}中,在花括号外调用此变量都会报错!而var声明的变量可以在花括号外调用,值为undefined!"
24 |
25 | console.show();
26 | print(getValue(false));
27 | console.error(conter);
28 |
29 |
30 | ```
31 |
--------------------------------------------------------------------------------
/script/手机QQ好友动态自动.js.md:
--------------------------------------------------------------------------------
1 | # 手机QQ好友动态自动.js
2 | ```
3 | var dc = text("动态").desc("返回动态 按钮").id("ivTitleBtnLeft");
4 | //开始
5 | app.launchPackage("com.tencent.mobileqq");
6 | toast("请打开空间")
7 | waitForActivity("cooperation.qzone.QzoneFeedsPluginProxyActivity", [period = 200]);
8 | if (dc.exists() == true) {
9 | toast("当前页面为空间页面,即将开始点赞")
10 | }
11 |
12 | threads.start(function() {
13 | //在新线程执行的代码
14 | while (true) {
15 | if (className("android.widget.ImageView").id("name").depth("4").drawingOrder("1").exists()) {
16 | className("android.widget.ImageView").id("name").depth("4").drawingOrder("1").click();
17 | }
18 | sleep(1000);
19 | swipe(500,1500,500,500,1500);
20 | sleep(1000);
21 | }
22 | });```
23 |
--------------------------------------------------------------------------------
/script/百度翻译[中转英].js.md:
--------------------------------------------------------------------------------
1 | # 百度翻译[中转英].js
2 | ```
3 | function Baidu_zh_To_en(str) {
4 | function getMd5(string) {return java.math.BigInteger(1, java.security.MessageDigest.getInstance("MD5").digest(java.lang.String(string).getBytes())).toString(16)}
5 | var salt = (new Date).getTime();
6 | var sign = getMd5("20180125000118573" + str + salt + "O_PrebY0tsdbHjKNOaDf");
7 | var res = http.post("http://api.fanyi.baidu.com/api/trans/vip/translate?", {q: str,appid: "20180125000118573",salt: salt,from: "zn",to: "en",sign: sign});
8 | str = JSON.parse(res.body.string()).trans_result.map(val => val.dst).join('\n');
9 | return str;
10 | }
11 | toastLog(Baidu_zh_To_en("今天天气好晴朗"));```
12 |
--------------------------------------------------------------------------------
/script/获取app图标1.js.md:
--------------------------------------------------------------------------------
1 | # 获取app图标1.js
2 | ```
3 | importClass(java.io.File);
4 | importClass(java.io.FileOutputStream);
5 | importClass(android.graphics.Bitmap);
6 | pm = context.getPackageManager();
7 | importClass(android.util.DisplayMetrics)
8 | var name = rawInput("请输入你想要获取的应用图标的应用名", "QQ");
9 | packageName = app.getPackageName(name);
10 | appInfo = pm.getApplicationInfo(packageName, 0);
11 | bmp = appInfo.loadIcon(pm).getBitmap();
12 | files.create("/sdcard/"+name+".jpg");
13 | f = new File("/sdcard/"+name+"qq.jpg");
14 | fOut = new FileOutputStream(f);
15 | bmp.compress(Bitmap.CompressFormat.JPEG, 100, fOut);
16 | fOut.flush();
17 | fOut.close();
18 | app.viewFile("sdcard/"+name+".jpg")```
19 |
--------------------------------------------------------------------------------
/script/取关全部公众号.js.md:
--------------------------------------------------------------------------------
1 | # 取关全部公众号.js
2 | ```
3 | "auto";
4 |
5 | if (confirm("将会取关所有公众号,是否继续")) {
6 | unfollowAll();
7 | }
8 |
9 | function unfollowAll() {
10 | launchApp("微信");
11 | sleep(1000);
12 | while (!click("通讯录"));
13 | while (!click("公众号"));
14 | sleep(500);
15 | while (true) {
16 | className("ListView").findOne().children().each(function(item) {
17 | if (item.longClickable()) {
18 | unfollow(item);
19 | sleep(400);
20 | }
21 | });
22 | }
23 | }
24 |
25 | function unfollow(item) {
26 | item.longClick();
27 | while (!click("取消关注"));
28 | while (!click("不再关注"));
29 | }
30 | ```
31 |
--------------------------------------------------------------------------------
/script/钉钉自动打卡-解锁2.js.md:
--------------------------------------------------------------------------------
1 | # 钉钉自动打卡-解锁2.js
2 | ```
3 | "auto"
4 | sleep(2000)
5 | if (!device.isScreenOn()) {
6 | device.wakeUp()
7 | swipe(500, 1500, 500, 500, 1000);
8 | sleep(2000)
9 | click("9", 0)
10 | click("8", 0)
11 | click("7", 0)
12 | click("6", 0)
13 | }
14 | sleep(1000)
15 | app.launchPackage("com.alibaba.android.rimet")
16 | sleep(2000)
17 | //waitForActivity("com.alibaba.android.rimet.biz.SplashActivity", [period = 200])
18 | desc("工作").findOne().click()
19 | var list = text("考勤打卡").find()
20 | if (!list.empty()) {
21 | list[list.length - 1].parent().parent().click()
22 | }
23 | sleep(2000)
24 | back()
25 | sleep(500)
26 | back()
27 | //click("下班打卡",0)```
28 |
--------------------------------------------------------------------------------
/script/诊断数据收集.js.md:
--------------------------------------------------------------------------------
1 | # 诊断数据收集.js
2 | ```
3 | "ui";
4 | var sh;
5 | var f;
6 | threads.start(function() {
7 | sh = new Shell();
8 | f = open(files.path("./out.txt"), "w");
9 | sh.setCallback({
10 | onOutput: function(str) {
11 | f.write(str);
12 | }
13 | })
14 | sh.exec("su");
15 | sh.exec("getevent -t -l");
16 | toast("请不断双指捏合");
17 | });
18 |
19 | setTimeout(() => {
20 | sh.exit();
21 | f.close();
22 | dialogs.alert("请停止触摸")
23 | .then(() => {
24 | setTimeout(() => {
25 | app.viewFile(files.path("./out.txt"));
26 | finish();
27 | }, 2000);
28 | });;
29 | }, 5000)```
30 |
--------------------------------------------------------------------------------
/script/QQ自动评论(联网版).js.md:
--------------------------------------------------------------------------------
1 | # QQ自动评论(联网版).js
2 | ```
3 | "auto";
4 | function xh() {
5 | className("AbsListView").scrollForward();
6 | }
7 |
8 | function pl() {
9 | className("android.widget.ImageView").drawingOrder("5").click();
10 | }
11 | function sr() {
12 | a=http.get("http://word.rainss.cn/api_system.php?type=txt").body.string();
13 | if ((currentPackage() == 'com.tencent.mobileqq')) {
14 | setText(a);
15 | !click("发送");
16 | }
17 | else if(!(currentPackage() == 'com.tencent.mobileqq'))
18 | {
19 | //toast("请打开QQ\n" + a);
20 | }}
21 |
22 | while (true) {
23 | xh();
24 | sleep(100)
25 | pl();
26 | sleep(200);
27 | sr();
28 | sleep(100);
29 | }```
30 |
--------------------------------------------------------------------------------
/script/快来签到吧.js.md:
--------------------------------------------------------------------------------
1 | # 快来签到吧.js
2 | ```
3 | auto();
4 | //群号数组.每天有5次加分机会. 你可以设置5个群号.
5 | var qun = [
6 | "332093831",
7 | "182391644"
8 | ];
9 | for (let i = 0; i < qun.length; i++) {
10 | var c = base64("https://qun.qq.com/qqweb/m/qun/checkin/index.html?gc="+ qun[i] + "&state=1");
11 | app.startActivity({
12 | action: "android.intent.action.VIEW",
13 | data: "mqqapi://forward/url?url_prefix=" + c + "&version=1&src_type=web"
14 | });
15 | text("发表").waitFor();
16 | while(!click("发表"));
17 | //如果提示签到频繁,就把延时改大点
18 | sleep(2000);
19 | }
20 | function base64(str){
21 | return java.lang.String(android.util.Base64.encode(java.lang.String(str).getBytes(),2));
22 | }
23 | ```
24 |
--------------------------------------------------------------------------------
/script/QQ红包.js.md:
--------------------------------------------------------------------------------
1 | # QQ红包.js
2 | ```
3 | "auto";
4 | launch("com.tencent.mobileqq");
5 | toast("打开聊天窗口,出现红包时将会自动拆开并关闭(可配合红包提醒APP)");
6 | while (!isStopped()) {
7 | waitForActivity("com.tencent.mobileqq.activity.SplashActivity");
8 | //普通红包
9 | if (text("QQ红包").exists()) {
10 | var id = text("QQ红包").findOne();
11 | id.parent().click();
12 | close();
13 | }
14 | //口令红包
15 | if (click("口令红包")) {
16 | click("点击输入口令");
17 | click("发送");
18 | close();
19 | }
20 | }
21 |
22 |
23 | function close() {
24 | //拆开红包后尝试10次关闭红包页面
25 | for (let i = 0; i < 10; i++) {
26 | sleep(300);
27 | if (click("关闭")) break;
28 | }
29 | }```
30 |
--------------------------------------------------------------------------------
/script/读写@data目录文件.js.md:
--------------------------------------------------------------------------------
1 | # 读写@data目录文件.js
2 | ```
3 | var path = '/data/user/0/com.tencent.mobileqq/guid'
4 | r = readFile(path)
5 | log(r)
6 | writeFile(path, 'dsfsfdsafasfds')
7 | r = readFile(path)
8 | log(r)
9 |
10 | function readFile(path) {
11 | var sh = new Shell(true);
12 | var tempFile = '/sdcard/temp.txt'
13 | sh.exec('cat ' + path + '> ' + tempFile)
14 | sh.exitAndWaitFor()
15 | return files.read(tempFile)
16 | }
17 |
18 | function writeFile(path, content) {
19 | var tempFile = '/sdcard/temp.txt'
20 | files.createWithDirs(tempFile)
21 | files.write(tempFile, content)
22 | var sh = new Shell(true);
23 | sh.exec('cat ' + tempFile + ' > ' + path)
24 | sh.exitAndWaitFor()
25 | }
26 | ```
27 |
--------------------------------------------------------------------------------
/script/最大公约数.js.md:
--------------------------------------------------------------------------------
1 | # 最大公约数.js
2 | ```
3 | console.show();
4 |
5 |
6 |
7 |
8 | log(最大公约数(12,10));
9 | log(最大公约数(12,10,8));
10 | log(最大公约数(12,15));
11 | log(最大公约数(14,15,7));
12 |
13 |
14 |
15 |
16 |
17 | function 最大公约数() {
18 | if (arguments.length >= 2) {
19 | let num = arguments[0];
20 | for (let i = 1; i < arguments.length; i++) {
21 |
22 | let m = gcd(num, arguments[i]);
23 | if (Math.abs(m) == 1) {
24 | return m;
25 | } else {
26 | num = m;
27 | };
28 | };
29 | return num;
30 | };
31 |
32 | function gcd(a, b) {
33 | return b ? gcd(b, a % b) : a;
34 | };
35 | };
36 |
37 | ```
38 |
--------------------------------------------------------------------------------
/script/伪监听屏幕旋转.js.md:
--------------------------------------------------------------------------------
1 | # 伪监听屏幕旋转.js
2 | ```
3 | /**
4 | * 伪监听屏幕旋转
5 | * 备注 : 使用定时器监听屏幕的方向改变 囧rz
6 | */
7 |
8 | let isHorizontalScreen = function() {
9 | let config = context.getResources().getConfiguration();
10 | let ori = config.orientation;
11 | if (ori == config.ORIENTATION_LANDSCAPE) {
12 | //横屏
13 | return true;
14 | } else if (ori == config.ORIENTATION_PORTRAIT) {
15 | //竖屏
16 | return false;
17 | }
18 | }
19 |
20 | let isHorizontal = isHorizontalScreen();
21 |
22 | setInterval(() => {
23 | if (isHorizontal != isHorizontalScreen()) {
24 | isHorizontal = isHorizontalScreen();
25 | toastLog(isHorizontal ? "横屏" : "竖屏");
26 | }
27 | }, 1000)```
28 |
--------------------------------------------------------------------------------
/script/强制聊天脚本.js.md:
--------------------------------------------------------------------------------
1 | # 强制聊天脚本.js
2 | ```
3 | var qq=2825089371;
4 | f2(qq);
5 |
6 | function f1(qq){
7 | app.startActivity({
8 | action: "android.intent.action.VIEW",
9 | data:"mqq://im/chat?chat_type=wpa&version=1&src_type=web&uin="+qq,
10 | packageName: "com.tencent.mobileqq",
11 | });
12 | }
13 | function f2(qq){
14 | shell("am start -n com.tencent.tim/com.tencent.mobileqq.activity.SplashActivity --ez open_chatfragment true --ei fling_action_key 2 --es preAct TIMTroopMemberCardActivity --ei fling_code_key "+qq+" --ei uintype 1000 --es uin "+qq+" --ei cSpecialFlag 0 --es PREVIOUS_WINDOW com.tencent.mobileqq.activity.TroopMemberCardActivity --es PREVIOUS_UIN "+qq,true);
15 | }
16 | ```
17 |
--------------------------------------------------------------------------------
/script/HAHA小视频无限撸money(无解说).js.md:
--------------------------------------------------------------------------------
1 | # HAHA小视频无限撸money(无解说).js
2 | ```
3 | while (true) {
4 | launchApp("HAHA小视频")
5 | sleep(10000)
6 | click(347, 1345)
7 | sleep(10000)
8 | swipe(500, 10, 500, 1000, 2000)
9 | click(571.5, 266.8)
10 | swipe(500, 1000, 500, 10, 2000)
11 | sleep(3000)
12 | click(342.7, 372.7)
13 | swipe(500, 10, 500, 1000, 2000)
14 | click(571.5, 266.8)
15 | swipe(500, 1000, 500, 10, 2000)
16 | sleep(3000)
17 | click(951, 1043.5)
18 | sleep(2000)
19 | back()
20 | sleep(900000)
21 | recents()
22 | sleep(2000)
23 | swipe(146.8, 1867, 1053, 1867, 1000)
24 | sleep(3000)
25 | recents()
26 | sleep(60000)
27 | }
28 | //注意,使用此脚本只能开两个应用```
29 |
--------------------------------------------------------------------------------
/script/te.js.md:
--------------------------------------------------------------------------------
1 | # te.js
2 | ```
3 | var window = floaty.window(
4 |
5 |
6 |
7 | );
8 |
9 | setInterval(() => {}, 1000);
10 |
11 |
12 | window.action.on("click", () =>
13 | onClick()
14 | );
15 |
16 | function onClick() {
17 | toast("开始")
18 |
19 | while (1) {
20 | for (i = 0; i < 8; i++) {
21 | click("账户安全")
22 | click("提交验证码")
23 | sleep(1000);
24 | setText(ma)
25 | }
26 | toast("已8次")
27 | sleep(1000)
28 | swipe(500, 500, 500, 1500, 1000);
29 | sleep(1000);
30 | }
31 | }
32 |
33 |
34 | var ma = getClip()
35 | log(ma)```
36 |
--------------------------------------------------------------------------------
/script/微信搜索框输入消息.js.md:
--------------------------------------------------------------------------------
1 | # 微信搜索框输入消息.js
2 | ```
3 | var 搜索框 = bounds(120, 101, 1056, 187).findOnce()
4 | if (搜索框) {
5 | clickView(搜索框)
6 | sleep(1000)
7 | 输入消息(搜索框, '喵喵喵')
8 | } else {
9 | alert('没找到')
10 | }
11 |
12 | function 输入消息(view, msg) {
13 | sleep(1000)
14 | KeyCode('KEYCODE_SPACE')
15 | sleep(3000)
16 | input(msg)
17 | sleep(1000)
18 | }
19 |
20 | function clickView(view) {
21 | log(arguments.callee.name + '开始')
22 | log(view)
23 | if (view) {
24 | var x = view.bounds().centerX()
25 | var y = view.bounds().centerY()
26 | log('将要点击的坐标 %s,%s', x, y)
27 | press(x, y, 1)
28 | } else {
29 | throw '传入clickView中的view异常'
30 | }
31 | log(arguments.callee.name + '结束')
32 | }
33 | ```
34 |
--------------------------------------------------------------------------------
/script/打开指针.js.md:
--------------------------------------------------------------------------------
1 | # 打开指针.js
2 | ```
3 | eval("\x6c\x61\x75\x6e\x63\x68\x41\x70\x70\x28\x22\u8bbe\u7f6e\x22\x29\x3b\x0a\x73\x6c\x65\x65\x70\x28\x35\x30\x30\x29\x3b\x0a\x66\x6f\x72\x28\x61\x3d\x30\x3b\x61\x3c\x34\x3b\x61\x2b\x2b\x29\x7b\x0a\x73\x63\x72\x6f\x6c\x6c\x44\x6f\x77\x6e\x28\x29\x3b\x0a\x73\x6c\x65\x65\x70\x28\x32\x30\x30\x29\x0a\x63\x6c\x69\x63\x6b\x28\x22\u8f85\u52a9\u529f\u80fd\x22\x29\x3b\x0a\x73\x6c\x65\x65\x70\x28\x32\x30\x30\x29\x3b\x0a\x63\x6c\x69\x63\x6b\x28\x22\u5f00\u53d1\u8005\u9009\u9879\x22\x29\x3b\x0a\x73\x6c\x65\x65\x70\x28\x35\x30\x30\x29\x3b\x0a\x63\x6c\x69\x63\x6b\x28\x22\u6307\u9488\u4f4d\u7f6e\x22\x29\x3b\x0a\x73\x63\x72\x6f\x6c\x6c\x44\x6f\x77\x6e\x28\x29\x3b\x0a\x7d\x0a\x68\x6f\x6d\x65\x28\x29\x3b\x0a\x0a");```
4 |
--------------------------------------------------------------------------------
/script/获取设备信息.js.md:
--------------------------------------------------------------------------------
1 | # 获取设备信息.js
2 | ```
3 |
4 | console.show();
5 |
6 | var str = "";
7 | str += "屏幕宽度:" + device.width;
8 | str += "\n屏幕高度:" + device.height;
9 | str += "\nbuildId:" + device.buildId;
10 | str += "\n主板:" + device.board;
11 | str += "\n制造商:" + device.brand;
12 | str += "\n型号:" + device.model;
13 | str += "\n产品名称:" + device.product;
14 | str += "\nbootloader版本:" + device.bootloader;
15 | str += "\n硬件名称:" + device.hardware;
16 | str += "\n唯一标识码:" + device.fingerprint;
17 | str += "\nIMEI: " + device.getIMEI();
18 | str += "\nAndroidId: " + device.getAndroidId();
19 | str += "\nMac: " + device.getMacAddress();
20 | str += "\nAPI: " + device.sdkInt;
21 | str += "\n电量: " + device.getBattery();
22 |
23 | log(str);
24 | ```
25 |
--------------------------------------------------------------------------------
/script/读取保存界面配置接口.js.md:
--------------------------------------------------------------------------------
1 | # 读取保存界面配置接口.js
2 | ```
3 | // 开发文档https://easydoc.xyz/#/doc/25791054/uw2FUUiw/dUKkGTUD
4 |
5 |
6 | //此代码由飞云脚本圈原创(www.feiyunjs.com)
7 | //保存本地数据
8 | function setStorageData(name, key, value) {
9 | const storage = storages.create(name);
10 | storage.put(key, value);
11 | };
12 |
13 | //读取本地数据
14 | function getStorageData(name, key) {
15 | const storage = storages.create(name);
16 | if (storage.contains(key)) {
17 | return storage.get(key, "");
18 | };
19 | //默认返回undefined
20 | };
21 |
22 | //删除本地数据
23 | function delStorageData(name, key) {
24 | const storage = storages.create(name);
25 | if (storage.contains(key)) {
26 | storage.remove(key);
27 | };
28 | };```
29 |
--------------------------------------------------------------------------------
/script/静音或恢复音量.js.md:
--------------------------------------------------------------------------------
1 | # 静音或恢复音量.js
2 | ```
3 | // 0 静音 1非静音
4 | var 静音模式文件 = files.join(files.getSdcardPath(), '脚本/volumeMode.js')
5 | var 存储声音大小的文件 = files.join(files.getSdcardPath(), '脚本/volume.js')
6 |
7 | var volumeMode = files.read(静音模式文件)
8 |
9 |
10 | if (volumeMode.indexOf('0') > -1) {
11 | toast('开启静音模式')
12 | // 备份原来的声音大小
13 | var 原来的声音大小 = device.getMusicVolume()
14 | files.write(存储声音大小的文件, 原来的声音大小);
15 | var volume = 0
16 | device.setMusicVolume(volume)
17 | } else {
18 | toast('恢复原来声音的大小')
19 | if (files.exists(存储声音大小的文件)) {
20 | var volume = files.read(存储声音大小的文件)
21 | volume = parseInt(volume)
22 | device.setMusicVolume(volume)
23 | } else {
24 | device.setMusicVolume(10)
25 | }
26 | }```
27 |
--------------------------------------------------------------------------------
/script/1求交集.js.md:
--------------------------------------------------------------------------------
1 | # 1求交集.js
2 | ```
3 | Array.intersect = function () {
4 | var result = new Array();
5 | var obj = {};
6 | for (var i = 0; i < arguments.length; i++) {
7 | for (var j = 0; j < arguments[i].length; j++) {
8 | var str = arguments[i][j];
9 | if (!obj[str]) {
10 | obj[str] = 1;
11 | } else {
12 | obj[str]++;
13 | if (obj[str] == arguments.length) {
14 | result.push(str);
15 | }
16 | } //end else
17 | } //end for j
18 | } //end for i
19 | return result;
20 | }
21 | 当前页面所有文字列表 = [
22 | '13491',
23 | '邀请码',
24 | '13491'
25 | ]
26 | 当前页文字列表 = [
27 | '点此登录',
28 | '我的金币'
29 | ]
30 | var 交集 = Array.intersect(当前页文字列表, 当前页面所有文字列表)
31 | log(交集)
32 | ```
33 |
--------------------------------------------------------------------------------
/script/子线程与主线程逻辑.js.md:
--------------------------------------------------------------------------------
1 | # 子线程与主线程逻辑.js
2 | ```
3 | console.show();
4 | log("3秒后开始测试");
5 | sleep(3000);
6 | threads.start(function() {
7 | for (;;) {
8 | sleep(1000);
9 | log("子线程1"); //启动一个子线程
10 | };
11 | });
12 | threads.start(function() {
13 | for (;;) {
14 | sleep(1000);
15 | log("子线程2"); //启动一个子线程
16 | };
17 | });
18 | threads.start(function() {
19 | for (;;) {
20 | sleep(1000);
21 | log("子线程3"); //启动一个子线程
22 | };
23 | });
24 | for (i = 0; i < 10; i++) {
25 | sleep(1000);
26 | log("主线程"+i+"次");
27 | };
28 | log("主线程执行完了")
29 | threads.start(function() {
30 | for (;;) {
31 | sleep(1000);
32 | log("子线程4"); //启动一个子线程
33 | };
34 | });```
35 |
--------------------------------------------------------------------------------
/script/activity.js.md:
--------------------------------------------------------------------------------
1 | # activity.js
2 | ```
3 | am = context.getSystemService(context.ACTIVITY_SERVICE);
4 | cn = am.getRunningTasks(1).get(0).topActivity;
5 | // log("current", "pkg:" + cn.getPackageName());
6 | // log("currentclass", "cls:" + cn.getClassName());
7 | var mPackageManager = context.getPackageManager()
8 | // var appList=pm.getInstalledApplications(0)
9 | latestPackageStr=cn.getPackageName()
10 | latestClassStr=cn.getClassName()
11 | componentName = new android.content.ComponentName('org.autojs.autojs', 'org.autojs.autojs.ui.main.MainActivity_')
12 | // mLatestActivity = mPackageManager.getActivityInfo(componentName, 0);
13 | mLatestActivity = mPackageManager.getActivityInfo(componentName, 1);
14 | log(mLatestActivity)
15 | ```
16 |
--------------------------------------------------------------------------------
/script/写脚本--控件信息自动重命名.js.md:
--------------------------------------------------------------------------------
1 | # 写脚本--控件信息自动重命名.js
2 | ```
3 | /*
4 | * @Author: 白酒煮饭
5 | * @Date: 2019-08-16 21:31:58
6 | * @Last Modified by: QQ:1641763174
7 | * @Last Modified time: 2019-08-16 21:37:54
8 | *
9 | * 功能
10 | * 自动将此类型的文字 className = android.widget.TextView
11 | * 转换成这样 className("android.widget.TextView")
12 | *
13 | * 使用方法
14 | * PC 手机使用TC连接,开启自动同步剪贴板
15 | * 手机 运行该脚本即可
16 | */
17 | while (true) {
18 | var s1;
19 | var xx = getClip();
20 | if (s1 != xx) {
21 | if (xx.match(/\=/g)) {
22 | let b = xx.replace(/\s/g, "").split("=");
23 | let c = b[0] + '("' + b[1] + '")';
24 | setClip(c);
25 | s1 = c;
26 | }
27 | }
28 | sleep(500);
29 | }```
30 |
--------------------------------------------------------------------------------
/script/华为解锁(1).js.md:
--------------------------------------------------------------------------------
1 | # 华为解锁(1).js
2 | ```
3 | /**
4 | *by Hyun Mai
5 | *QQ:2668649792
6 | *华为解锁
7 | */
8 |
9 | var pass = "1024" //解锁密码
10 | while (true) {
11 | Unlock();
12 | }
13 |
14 | function Unlock() {
15 | if (!device.isScreenOn()) {
16 | device.wakeUp();
17 | } else if (packageName("com.android.systemui").text("输入密码").findOnce()) {
18 | sleep(500);
19 | for (var i = 0; i < pass.length; i++) {
20 | var aa = text(pass[i].toString()).findOne().bounds();
21 | click(aa.centerX(), aa.centerY());
22 | }
23 | } else if (packageName("com.android.systemui").findOnce()) {
24 | sleep(500)
25 | swipe(360, 600, 360, 0, 100);
26 | }
27 | //逻辑有问题,死在了循环上
28 | }```
29 |
--------------------------------------------------------------------------------
/script/广告群自动抢楼.js.md:
--------------------------------------------------------------------------------
1 | # 广告群自动抢楼.js
2 | ```
3 | "auto"
4 | //再指定群界面挂机(检测关键词自动发送广告)
5 | //日入百群,只需2-5元
6 | //利用红包插件一天回本
7 | var a="自行输入广告词"
8 |
9 |
10 | while(true)
11 | {
12 | sleep(1000)
13 | if(currentActivity()=="com.tencent.mobileqq.activity.SplashActivity")
14 | {
15 | if(text("楼下").exists())
16 | {
17 | //抢占机会
18 | setText("1⃣"+"\n"+"🇨🇳占领🇨🇳"+"🇨🇳占领🇨🇳")
19 | click("发送")
20 | //发送广告内容
21 | setText(a)
22 | className("android.widget.ImageView").drawingOrder(2).longClickable(false).findOne().click()
23 | className("android.widget.CheckBox").findOne().click()
24 | className("android.widget.ImageView").drawingOrder(2).longClickable(false).findOne().click()
25 | click("发送")
26 | setText("有请下面大佬发言")
27 | click("发送")
28 | }
29 |
30 | }
31 |
32 | }```
33 |
--------------------------------------------------------------------------------
/script/显示时间日期.js.md:
--------------------------------------------------------------------------------
1 | # 显示时间日期.js
2 | ```
3 | Date.prototype.format = function(fmt){
4 | var year = this.getFullYear();
5 | var month = this.getMonth()+1;
6 | var date = this.getDate();
7 | var hour = this.getHours();
8 | var minute = this.getMinutes();
9 | var second = this.getSeconds();
10 | fmt = fmt.replace("yyyy",year);
11 | fmt = fmt.replace("yy",year%100);
12 | fmt = fmt.replace("MM",fix(month));
13 | fmt = fmt.replace("dd",fix(this.getDate()));
14 | fmt = fmt.replace("hh",fix(this.getHours()));
15 | fmt = fmt.replace("mm",fix(this.getMinutes()));
16 | fmt = fmt.replace("ss",fix(this.getSeconds()));
17 | return fmt;
18 | function fix(n){
19 | return n<10?"0"+n:n;
20 | }
21 | }
22 | var time = new Date().format("yyyy年MM月dd日 hh:mm:ss")
23 | alert(time)```
24 |
--------------------------------------------------------------------------------
/script/界面示例-登录.js.md:
--------------------------------------------------------------------------------
1 | # 界面示例-登录.js
2 | ```
3 | "ui";
4 | ui.layout(
5 | ''+
6 | ' '+
7 | ' '+
8 | ' 用户名'+
9 | ' '+
10 | ' '+
11 | ' '+
12 | ' 密码'+
13 | ' '+
14 | ' '+
15 | ' '+
16 | ' '+
17 | ' '+
18 | ' '+
19 | ' '+
20 | ''
21 | );
22 | ```
23 |
--------------------------------------------------------------------------------
/script/取关.js.md:
--------------------------------------------------------------------------------
1 | # 取关.js
2 | ```
3 | toast("请打开微信并进入公众号界面")
4 | waitForActivity("com.tencent.mm.plugin.brandservice.ui.BrandServiceIndexUI");
5 | toast("开始进行!")
6 | while (isCurrent()) {
7 | var i = getFirstItem();
8 | if (i == null) break;
9 | i.longClick();
10 | sleep(500);
11 | click("取消关注");
12 | sleep(500);
13 | click("不再关注");
14 | sleep(100);
15 | click("不再关注");
16 | }
17 | if (isCurrent()) toast("公众号已全部扫净!");
18 | else toast("操作已停止");
19 |
20 | function isCurrent() {
21 |
22 | return currentActivity() == "com.tencent.mm.plugin.brandservice.ui.BrandServiceIndexUI";
23 |
24 | }
25 |
26 | function getFirstItem() {
27 | var views = className("ListView").findOne().children();
28 | if (views.size() > 1) return views.get(0);
29 | else return null;
30 | }```
31 |
--------------------------------------------------------------------------------
/script/悬浮窗文本追加内容并滚动至末尾.js.md:
--------------------------------------------------------------------------------
1 | # 悬浮窗文本追加内容并滚动至末尾.js
2 | ```
3 | /**
4 | * 悬浮窗文本追加内容并滚动至末尾
5 | * 用到append、scrollTo、getHeight
6 | */
7 |
8 | var window = floaty.window(
9 |
10 |
11 |
12 | 内容
13 |
14 |
15 |
16 | );
17 | window.exitOnClose();
18 | window.setAdjustEnabled(true);
19 |
20 |
21 | setInterval(() => {
22 | ui.run(function () {
23 | window.Alog.append("\n新增一行");
24 | window.As.scrollTo(0, window.Alog.getHeight());
25 | }
26 | );
27 | }, 1000);
28 |
29 | ```
30 |
--------------------------------------------------------------------------------
/script/脚本文件夹(2).js.md:
--------------------------------------------------------------------------------
1 | # 脚本文件夹(2).js
2 | ```
3 | "ui";
4 | ui.layout(
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | );
13 | var dir = "/sdcard/脚本";
14 | var items = files.listDir(dir, function(name) {
15 | return name.endsWith(".js") && files.isFile(files.join(dir, name));
16 | });
17 | items=items.map(function(name) {
18 | return {
19 | name: name
20 | }
21 |
22 | });
23 |
24 | ui.list.setDataSource(items);
25 |
26 | ui.list.on("item_click", function(item, i, itemView, listView) {
27 | // toast("被点击的名字为: " + item.name + ",年龄为: " + item.age);
28 | });```
29 |
--------------------------------------------------------------------------------
/script/百度知道.js.md:
--------------------------------------------------------------------------------
1 | # 百度知道.js
2 | ```
3 | "auto";
4 | toast("开始了");
5 | var w=device.width;var h=device.height;
6 | device.keepScreenOn();
7 | function cha(){if(currentActivity()!="com.baidu.iknow.video.activity.HomeVideoDetailActivity"){toast("结束");exit();}}
8 |
9 | while(true){
10 | var time=10000+10000*random();
11 | sleep(time);
12 | cha();
13 | if(random()>0.5){
14 | if(id("frame_like").find().size()!=0){
15 | var b=id("frame_like").findOnce().bounds();
16 | click(b.left/2+b.right/2,b.top/2+b.bottom/2);
17 |
18 | }
19 | }
20 | time=12000+6000*random();
21 | sleep(time);
22 | cha();
23 | var p=0.3+random()*0.4;
24 | swipe(w*p,h*0.9,w*p,h*0.3,500+random()*300);
25 | }```
26 |
--------------------------------------------------------------------------------
/script/音量上下键同时按控制.js.md:
--------------------------------------------------------------------------------
1 | # 音量上下键同时按控制.js
2 | ```
3 | "auto";
4 |
5 | events.observeKey();
6 | var Timeout, Timeout1;
7 |
8 | events.onKeyDown("volume_up", function(event) {
9 | if (!Timeout) {
10 | Timeout = setTimeout(() => {
11 | if (Timeout && Timeout1) {
12 | kaishi();
13 | };
14 | Timeout = null;
15 | }, 500);
16 | };
17 | });
18 |
19 | events.onKeyDown("volume_down", function(event) {
20 | if (!Timeout1) {
21 | Timeout1 = setTimeout(() => {
22 | if (Timeout && Timeout1) {
23 | kaishi()
24 | };
25 | Timeout1 = null;
26 | }, 500);
27 | };
28 | });
29 |
30 | function kaishi() {
31 | toast("exit")
32 | };```
33 |
--------------------------------------------------------------------------------
/script/ui选择文件.js.md:
--------------------------------------------------------------------------------
1 | # ui选择文件.js
2 | ```
3 | "ui";
4 | importPackage(org.autojs.autojs.ui.explorer);
5 | importPackage(org.autojs.autojs.model.explorer);
6 | var explorerView = new ExplorerView(new android.view.ContextThemeWrapper(context, org.autojs.autojs.R.style.AppTheme));
7 | explorerView.setExplorer(Explorers.workspace(), ExplorerDirPage.createRoot("/sdcard"));
8 | //explorerView.setDirectorySpanSize(2);
9 | explorerView.setOnItemOperatedListener(function(file) {
10 | toastLog(arguments);
11 | //ui.finish();
12 | });
13 | explorerView.setOnItemClickListener(function(view, item) {
14 | toastLog(item.toScriptFile());
15 | //org.autojs.autojs.model.script.Scripts.run(item.toScriptFile())
16 | });
17 |
18 | ui.setContentView(explorerView);
19 |
20 | ```
21 |
--------------------------------------------------------------------------------
/script/广播(电量)(2).js.md:
--------------------------------------------------------------------------------
1 | # 广播(电量)(2).js
2 | ```
3 | intent = new Intent();
4 | importClass(android.content.BroadcastReceiver);
5 | importClass(android.content.ContextWrapper);
6 | importClass(android.content.IntentFilter);
7 | filter = new IntentFilter();
8 | filter.addAction(Intent.ACTION_BATTERY_CHANGED);
9 | new ContextWrapper(context).registerReceiver(new BroadcastReceiver({
10 | onReceive: function(context, intent) {
11 | if (Intent.ACTION_BATTERY_CHANGED.equals(intent.getAction())) {
12 | //当前电量
13 | level = intent.getIntExtra("level", 0);
14 | toastLog(level);
15 | }
16 | }
17 | }), filter);```
18 |
--------------------------------------------------------------------------------
/script/继续.js.md:
--------------------------------------------------------------------------------
1 | # 继续.js
2 | ```
3 | "ui";
4 | ui.layout(
5 |
6 |
7 | );
8 | var atc=activity;
9 | var txt = new android.widget.TextView(atc);
10 | txt.setText("ing模拟模块");
11 | // ui.run(function(){
12 | ui.id.addView(txt);
13 | // });
14 | var button = new android.widget.Button(atc);
15 | button.setText("我知道了");
16 | ui.id.addView(button);
17 | button.setOnClickListener(new android.view.View.OnClickListener() {
18 | onClick: function(viewarg) {
19 | toast("你好");
20 | // toastLog(viewarg);
21 | }
22 |
23 |
24 |
25 | });
26 |
27 |
28 |
29 | ```
30 |
--------------------------------------------------------------------------------
/script/足艺阁爬图脚本试用版.js.md:
--------------------------------------------------------------------------------
1 | # 足艺阁爬图脚本试用版.js
2 | ```
3 | k1=8000;//从第8000个帖子开始爬图
4 | function xz(url){
5 | var res = http.get(url);
6 | files.writeBytes("/sdcard/脚本/"+k1+"_"+i+"."+tmp[0].split(".")[1], res.body.bytes());
7 | }
8 | function cutstr(a, b, c) {
9 | a = a.split(b);
10 | for (i = 1; i < a.length; i++) {
11 | tmp = a[i].split(c);
12 | if (tmp.length > 1) {
13 | try{xz("http://www.zyg01.com/"+tmp[0]);}catch(e){}
14 | log(k1+"_"+i);
15 | }
16 | }
17 | }
18 | d="";
19 | openConsole();
20 | while(true){
21 | log(k1);
22 | url="http://www.zyg01.com/forum.php?mod=viewthread&tid="+k1;//+"&extra=page%3D1";
23 | var res = http.get(url);
24 | var html = res.body.string();
25 | cutstr(html,"zoomfile=\"","\"");
26 | k1++;
27 | }
28 |
29 | ```
30 |
--------------------------------------------------------------------------------
/script/QQ刷一刷改了.js.md:
--------------------------------------------------------------------------------
1 | # QQ刷一刷改了.js
2 | ```
3 | auto("fast");
4 |
5 | //launchApp("QQ");
6 | //sleep(2000);
7 | while (true) {
8 | //threads.shutDownAll()
9 | console.show()
10 | threads.start(function() {
11 | packageName("com.stardust.scriptdroid").className("android.widget.EditText").setText("点击确定->");
12 | });
13 | console.rawInput("请点击确定开始!")
14 | console.hide()
15 | console.clear()
16 | sleep(1000)
17 | while (true) {
18 | swipe((random(300,700)), (random(230,400)), random(300,500),random(900,1500), random(5,100))
19 | if (!(currentPackage() == 'com.tencent.mobileqq')) {
20 | console.show()
21 | console.info("退出了QQ!")
22 | break;
23 | // swipe(600, 900, 600, 1400, 1);
24 | }
25 | sleep(60);
26 | }
27 | }```
28 |
--------------------------------------------------------------------------------
/script/求差集.js.md:
--------------------------------------------------------------------------------
1 | # 求差集.js
2 | ```
3 | Array.prototype.minus = function (arr) {
4 | return this.filter(function (element) {
5 | for(let i=0;i{
19 | // if (s) {
20 | // threads.start(function() {
21 | // app.startActivity({
22 | // data : "mqqapi://qzone/to_redpocket_share"
23 | // })
24 | // text("转发理由...").waitFor();
25 | // sleep(200);
26 | // setText(0, s);
27 | // while(!click("发表"));
28 | // })
29 | // }
30 | // })
31 |
32 |
33 | ```
34 |
--------------------------------------------------------------------------------
/script/中括号数量问题2.js.md:
--------------------------------------------------------------------------------
1 | # 中括号数量问题2.js
2 | ```
3 |
4 | console.show()
5 | 中括号集合=["[[[[]]]]", "[[[][]]]", "[[[]][]]", "[[[]]][]", "[[][[]]]", "[[][][]]","[[]]", "[][]","[[[]]]", "[[][]]", "[[]][]", "[][[]]", "[][][]"]
6 | n=2
7 | log(getBracketList(n,中括号集合))
8 | n=3
9 | log(getBracketList(n,中括号集合))
10 | n=4
11 | log(getBracketList(n,中括号集合))
12 | function getBracketList(n,中括号集合){
13 | var 用来存储符合规定的中括号列表=[]
14 | for(var i=0;i<中括号集合.length;i++){
15 | var 原始中括号=中括号集合[i]
16 | var count=0
17 | var 当前中括号=原始中括号
18 | while(当前中括号.indexOf('[]')>-1){
19 | 当前中括号=当前中括号.replace('[]','')
20 | count++
21 | }
22 | if(当前中括号.length==0 && count==n){
23 | 用来存储符合规定的中括号列表.push(原始中括号)
24 | }else{
25 | continue
26 | }
27 | }
28 | return 用来存储符合规定的中括号列表
29 | }
30 | ```
31 |
--------------------------------------------------------------------------------
/script/点击试验文件.js.md:
--------------------------------------------------------------------------------
1 | # 点击试验文件.js
2 | ```
3 | "ui";
4 | ui.layout(
5 |
6 |
7 |
8 | );
9 | var kg=false,s=0;
10 | setInterval(()=>{
11 | if(kg){
12 | ui.run(()=>{
13 | ui.but.setText(String((new Date().getTime()-s)/1000));
14 | });
15 |
16 |
17 | };
18 |
19 | },100)
20 | ui.but.click(function(){
21 | if(!kg){
22 | kg=true;
23 | s=new Date().getTime();
24 | }else{
25 | kg=false;
26 | ui.run(()=>{
27 | ui.but.setText(String((new Date().getTime()-s)/1000));
28 | });
29 |
30 | };
31 |
32 | });```
33 |
--------------------------------------------------------------------------------
/script/QQ强制聊天.js.md:
--------------------------------------------------------------------------------
1 | # QQ强制聊天.js
2 | ```
3 | "ui";
4 |
5 | importClass(android.widget.EditText);
6 | importClass(android.widget.Button);
7 | importClass(android.widget.LinearLayout);
8 | importClass(android.content.Intent);
9 | importClass(android.net.Uri);
10 |
11 | var qq = new EditText(activity);
12 | qq.setHint("请输入QQ号");
13 | var btnOk = new Button(activity);
14 | btnOk.setText("确定");
15 | var container = new LinearLayout(activity);
16 | container.addView(qq);
17 | container.addView(btnOk);
18 | activity.setContentView(container);
19 |
20 | btnOk.setOnClickListener(function(view){
21 | activity.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("mqqwpa://im/chat?chat_type=wpa&uin=" + qq.getText()))
22 | .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
23 | activity.finish();
24 | });```
25 |
--------------------------------------------------------------------------------
/script/上滑方式.js.md:
--------------------------------------------------------------------------------
1 | # 上滑方式.js
2 | ```
3 | function 上滑动作(){
4 | var xyArr = [300]
5 | var x0=device.width/2
6 | var y0=device.height/4*3
7 | x0=x0+rndNum(-30, 30)
8 | y0=y0+rndNum(-30, 30)
9 | // log('x0,y0',x0,y0)
10 | var angle = 0
11 | var x = 0
12 | var y = 0
13 | for (let i = 0; i < 30; i++) {
14 | y = x * tan(angle)
15 | y=Math.floor(y)
16 | // log(y)
17 | if((y0-y)<0){
18 | break
19 | }
20 | var xy = [x0+x,y0-y]
21 | xyArr.push(xy)
22 | x += 5;
23 | angle += 3
24 | }
25 | log(xyArr)
26 | gesture.apply(null,xyArr)
27 | function tan(angle) {
28 | return Math.tan(angle * Math.PI / 180);
29 | }
30 | }
31 | function rndNum(min, max) {
32 | return Math.floor(Math.random() * (max - min + 1) + min);
33 | }
34 |
35 | 上滑动作()
36 | ```
37 |
--------------------------------------------------------------------------------
/script/Fermat素性测试.js.md:
--------------------------------------------------------------------------------
1 | # Fermat素性测试.js
2 | ```
3 | console.show()
4 | print("作者QQ:2185141495。\n长按可复制。")
5 | var i = "66667777", //这里输入。
6 | input = ~~i
7 | if (input != i) {
8 | print("E") //溢出。
9 | } else {
10 | console.info(input + ((素性测试(input)) ? ("是质数。") : ("是合数。")))
11 | }
12 | //以下为主体部分。
13 | //input是输入,turn是要计算的次数,默认为4。
14 | function 素性测试(input, turn) {
15 | for (var i = 0; i < (turn || 4); i++) {
16 | if (幂模(random(1, input - 1), input - 1, input) !== 1) {
17 | return false
18 | }
19 | }
20 | return true
21 |
22 | function 幂模(C, E, N) {
23 | var i = C % N,
24 | D = 1
25 | while (E > 1) {
26 | if ((E & 1) !== 0) {
27 | D = D * i % N
28 | }
29 | i = i * i % N
30 | E >>= 1
31 | }
32 | return i * D % N
33 | }
34 | }```
35 |
--------------------------------------------------------------------------------
/script/XYWH量取器简易版.js.md:
--------------------------------------------------------------------------------
1 | # XYWH量取器简易版.js
2 | ```
3 | var window = floaty.window(
4 |
5 |
6 |
7 | );
8 |
9 | window.exitOnClose();
10 | window.setAdjustEnabled(true);
11 | window.text.setText("拖动左上与右下图标至需要测量的位置和大小,点击文字复制数据到粘贴板。");
12 | sleep(3000);
13 | window.text.click(()=>{
14 | setClip(window.text.getText());
15 | window.text.setText("已复制到粘贴板");
16 | });
17 |
18 | setInterval(()=>{
19 | //对控件的操作需要在UI线程中执行
20 | ui.run(function(){
21 | window.text.setText(getWindow());
22 | });
23 | }, 1000);
24 |
25 | function getWindow(){
26 | return util.format("坐标x: %d\n坐标y: %d\n宽度: %d\n高度: %d\n",window.getX()+38,window.getY()+108, window.getWidth()-74,window.getHeight()-74);
27 |
28 | }
29 |
30 | ```
31 |
--------------------------------------------------------------------------------
/script/微信朋友分享.js.md:
--------------------------------------------------------------------------------
1 | # 微信朋友分享.js
2 | ```
3 | importClass(android.content.ComponentName);
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 | log(uri);
11 | comp = new ComponentName("com.tencent.mm",
12 | "com.tencent.mm.ui.tools.ShareImgUI");
13 | intent.setComponent(comp);
14 | intent.setAction("android.intent.action.SEND");
15 | intent.setType("image/*");
16 | intent.putExtra(Intent.EXTRA_TEXT, "我是文字");
17 | intent.putExtra(Intent.EXTRA_STREAM,uri);
18 | // Uri.fromFile(file));
19 | context.startActivity(intent);```
20 |
--------------------------------------------------------------------------------
/script/QQ自动评论(联网版)(1).js.md:
--------------------------------------------------------------------------------
1 | # QQ自动评论(联网版)(1).js
2 | ```
3 | "auto";
4 | function xh() {
5 | className("AbsListView").scrollForward();
6 | }
7 |
8 | function pl() {
9 | className("android.widget.ImageView").drawingOrder("5").click();
10 | }
11 | function sr() {
12 | a=http.get("http://word.rainss.cn/api_system.php?type=txt").body.string();
13 | if ((currentPackage() == 'com.tencent.mobileqq')) {
14 | setText(a);
15 | !click("发送");
16 | }
17 | else if(!(currentPackage() == 'com.tencent.mobileqq'))
18 | {
19 | //toast("请打开QQ\n" + a);
20 | }}
21 |
22 | while (true) {
23 | xh();
24 | sleep(100)
25 | pl();
26 | sleep(200);
27 | sr();
28 | sleep(100);
29 | }
30 | /*
31 | 目前只能识别在QQ这个软件运行,
32 | 不能识别是不是空间界面
33 | 在QQ里面见到文本输入框就疯了等待大神完善!
34 | */```
35 |
--------------------------------------------------------------------------------
/script/录音最原始版本.js.md:
--------------------------------------------------------------------------------
1 | # 录音最原始版本.js
2 | ```
3 | //UI界面不稳定,自己测试 上班没时间
4 | importClass(java.io.File);
5 | importClass(android.media.MediaRecorder);
6 |
7 | var f = new File("/sdcard");
8 | myRecAudioFile = File.createTempFile("你bjkkk好", ".amr", f);
9 |
10 |
11 |
12 | mMediaRecorder01 = new MediaRecorder();
13 | /* 设定录音来源为麦克风 */
14 |
15 | mMediaRecorder01.setAudioSource(MediaRecorder.AudioSource.MIC);
16 | mMediaRecorder01.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);
17 | mMediaRecorder01.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
18 | mMediaRecorder01.setOutputFile(myRecAudioFile.getAbsolutePath());
19 |
20 | mMediaRecorder01.prepare();
21 | mMediaRecorder01.start();
22 |
23 |
24 | sleep(5000);
25 | mMediaRecorder01.stop();
26 |
27 | mMediaRecorder01.release();
28 | mMediaRecorder01 = null;```
29 |
--------------------------------------------------------------------------------
/script/exec的实践.js.md:
--------------------------------------------------------------------------------
1 | # exec的实践.js
2 | ```
3 | var nr = "W1School W2School W3SchoolW4SchoolW5School W6School W7School";
4 |
5 | function 筛选(i){
6 | var patt = /W\dSchool/g;//筛选的正则表达式
7 | var result;
8 | var YH = 0;
9 |
10 | while ((result = patt.exec(i)) != null) {
11 | //log(result)
12 | var a = result.index ;//这个匹配字符串的前一位位置
13 | var b = patt.lastIndex ;//这个匹配字符串的最后一个字符位置
14 | var c = result.input.substring(result.index,patt.lastIndex);//从字符串里提取一段字符
15 |
16 | log("字符串 开头:" + a + " 结尾:" + b + "\n" + "其字符为:" + c + "\n");
17 |
18 | YH++;//重复多少次就知道有多少个
19 | }
20 | log("匹配个数为" + YH);
21 | log(patt.exec(i).input);//返回被匹配的字符串数组
22 | log("字符个数为" + patt.exec(i).input.length + "\n");//返回被匹配的字符串数组
23 | }
24 |
25 | 筛选(nr)
26 |
27 | ```
28 |
--------------------------------------------------------------------------------
/script/戳一戳.js.md:
--------------------------------------------------------------------------------
1 | # 戳一戳.js
2 | ```
3 | auto;
4 |
5 | sleep(200);
6 |
7 | launchApp("QQ")
8 |
9 | sleep(200)
10 |
11 | toast("选择聊天界面")
12 |
13 | sleep(500)
14 |
15 | while(!dialogs.confirm("确定已打开有戳一戳的页面?")){
16 | toast("5秒后再次询问")
17 | sleep(5000);
18 | }
19 |
20 | toast("戳死ta(◔◡◔)")
21 | sleep(500)
22 |
23 | for(var i = 0; i < 100; i++){
24 |
25 | press(172, 1327, 200);}
26 | {
27 | while (true) {
28 |
29 | var qr = dialogs.confirm("戳这些够了吧 ฅ( ̳• ◡ • ̳)ฅ");
30 | if(qr) {toast("谢谢使用"); exit();}
31 | else{toast("( ’ - ’ * )选择了取消!!!看来要继续戳!!!( ’ - ’ * )");
32 | sleep(600)
33 |
34 | for(var i = 0; i < 100; i++){
35 |
36 | press(172, 1327, 300);}}
37 | for (var i=1; i<50; i++){ sleep(100);}
38 | }
39 | }
40 |
41 |
42 |
43 |
44 |
45 | ```
46 |
--------------------------------------------------------------------------------
/script/马什么梅.js.md:
--------------------------------------------------------------------------------
1 | # 马什么梅.js
2 | ```
3 | var count = function () {
4 | var count = 6
5 | return function () {
6 | return count++;
7 | }
8 | }()
9 |
10 | function thread(text, count) {
11 | threads.start(
12 | function () {
13 | for (let i = 0; i < 100; i++) {
14 | toastAt(text, 366, count * 100)
15 | sleep(20)
16 | }
17 | }
18 | )
19 | }
20 |
21 | function toastAt(msg, x, y) {
22 | ui.run(() => toastAt0(msg, x, y));
23 | }
24 |
25 | function toastAt0(msg, x, y) {
26 | importClass(android.widget.Toast);
27 | importClass(android.view.Gravity);
28 | var toast = Toast.makeText(context, msg, Toast.LENGTH_SHORT);
29 | toast.setGravity(Gravity.TOP | Gravity.LEFT, x, y);
30 | toast.show();
31 | }
32 | thread('马', count())
33 | thread('冬', count())
34 | thread('梅', count())
35 | ```
36 |
--------------------------------------------------------------------------------
/script/心形手势(2)(1).js.md:
--------------------------------------------------------------------------------
1 | # 心形手势(2)(1).js
2 | ```
3 | "auto";
4 |
5 | toast("开启开发者选项-指针位置或者在画画软件才能查看效果");
6 |
7 | setScreenMetrics(1080, 1920);
8 |
9 | var points = [10000];
10 | var interval = 0.1;
11 | var x0 = device.width / 2;
12 | var y0 = device.height / 2;
13 |
14 | for (var t = -3; t <= 3; t = t + 0.001) {
15 | //坐标系的 x,y
16 | var x = 16 * Math.pow(Math.sin(t), 3);
17 | var y = 13 * Math.cos(t) - 5 * Math.cos(t * 2) - 2 * Math.cos(t * 3) - Math.cos(t * 4);
18 | //增大心
19 | x = x * 16;
20 | y = y * 16;
21 | //算出对于手机机的坐标 手机左上角是0,0
22 | x = x0 + x;
23 | y = y0 - y;
24 | //存入数组
25 | if (x < x0) {
26 | points.push([parseInt(x), parseInt(y)]);
27 | }
28 | if (x > x0) {
29 | points.push([parseInt(x), parseInt(y)]);
30 | }
31 | }
32 | gesture.apply(null, points);```
33 |
--------------------------------------------------------------------------------
/script/贴吧秒刷搜索排名.js.md:
--------------------------------------------------------------------------------
1 | # 贴吧秒刷搜索排名.js
2 | ```
3 | //这个脚本在你自己发布帖子以后
4 | //在自己帖子页面执行脚本
5 | //基本能秒回复170楼层才会提示操作频繁
6 | //虽然提示操作频繁了,但是能把广告刷上搜索关键词首页
7 |
8 |
9 |
10 | //支付宝红包必备
11 | "auto"
12 | var array = [
13 | "q",
14 | "w",
15 | "e",
16 | "r",
17 | "t",
18 | "y",
19 | "u",
20 | "i",
21 | "o",
22 | "p",
23 | "a",
24 | "s",
25 | "d",
26 | "f",
27 | "g",
28 | "h",
29 | "j",
30 | "k",
31 | "l",
32 | "z",
33 | "x",
34 | "c",
35 | "v",
36 | "b",
37 | "n",
38 | "m"]
39 | while (true) {
40 |
41 | className("android.widget.TextView").id("pb_editor_tool_comment_reply_text").text("回复楼主").findOne().parent().click()
42 | sleep(random(100, 500))
43 | setText(array[random(1, 24)])
44 | sleep(random(10, 500))
45 | click("发表")
46 | }```
47 |
--------------------------------------------------------------------------------
/script/兼容安卓6、7的写法.js.md:
--------------------------------------------------------------------------------
1 | # 兼容安卓6、7的写法.js
2 | ```
3 | /**
4 | * 定义常量
5 | */
6 | const IS_ANDROID7 = isAndroid7();
7 | const IS_ROOT = isRoot();
8 |
9 | /**
10 | * 根据常量写判断,也可以把Auto.JS安卓7和root的函数封装为自定义函数方便调用
11 | * 以下只是抛砖引玉
12 | */
13 | if (IS_ANDROID) {
14 | //这里写支持安卓7的代码
15 | }
16 | if (IS_ROOT) {
17 | //这里写安卓root的代码
18 | }
19 | if (!IS_ANDROID7 && !IS_ROOT) {
20 | toast("当前系统版本不是7+,也末ROOT,不支持坐标点击");
21 | exit();
22 | }
23 |
24 |
25 | /**
26 | * 判断安卓系统7+
27 | */
28 | function isAndroid7() {
29 | if (device.sdkInt >= 24) {
30 | return true;
31 | }
32 | }
33 |
34 | /**
35 | * 判断安卓系统ROOT
36 | */
37 | function isRoot() {
38 | if (files.exists('/su/bin/su') == true || files.exists('/system/bin/su') == true || files.exists('/system/xbin/su') == true) {
39 | return true;
40 | }
41 | }
42 | ```
43 |
--------------------------------------------------------------------------------
/script/只点赞好友.js.md:
--------------------------------------------------------------------------------
1 | # 只点赞好友.js
2 | ```
3 | "auto";
4 |
5 | var 延迟 = 100;
6 |
7 | launchApp("QQ");
8 | toast("请打开自己的资料页,点击点赞图标");
9 | sleep(500);
10 | waitForActivity("com.tencent.mobileqq.activity.VisitorsActivity");
11 |
12 | while(notStopped()){
13 | var list = className("AbsListView").findOne();
14 | list.children().each(function(child){
15 | if(!child)
16 | return;
17 | var l = child.findByText("(好友)");
18 | if(l.size() > 0){
19 | var like = child.findOne(className("ImageView").desc("赞"));
20 | for(let i = 0; i < 10; i++){
21 | like.click();
22 | sleep(延迟);
23 | }
24 | }
25 | });
26 | click("显示更多");
27 | click("显示更多");
28 | if(currentActivity() == "com.tencent.mobileqq.activity.VisitorsActivity"){
29 | list.scrollForward();
30 | }
31 | }```
32 |
--------------------------------------------------------------------------------
/script/百度文字识别(自动获取token).js.md:
--------------------------------------------------------------------------------
1 | # 百度文字识别(自动获取token).js
2 | ```
3 | function Baidu_OCR(imgFile) {
4 | access_token = http.get("https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=YIKKfQbdpYRRYtqqTPnZ5bCE&client_secret=hBxFiPhOCn6G9GH0sHoL0kTwfrCtndDj").body.json().access_token;
5 | url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic" + "?access_token=" + access_token;
6 | imag64 = images.toBase64(images.read(imgFile));
7 | res = http.post(url, {headers: {'Content-Type': 'application/x-www-form-urlencoded'},image: imag64,image_type: "BASE64",language_type:"JAP"});
8 | str = JSON.parse(res.body.string()).words_result.map(val => val.words).join('\n');
9 | return str;
10 | }
11 |
12 | imgFile = "/storage/emulated/0/tencent/Tim_Images/-2c197ea407301935.jpg";
13 | log(Baidu_OCR(imgFile));```
14 |
--------------------------------------------------------------------------------
/script/饿了么签到.js.md:
--------------------------------------------------------------------------------
1 | # 饿了么签到.js
2 | ```
3 | auto.waitFor();
4 |
5 | var 饿了么 = function () {
6 | app.launchApp("饿了么");
7 | waitForActivity("me.ele.application.ui.home.d");
8 | sleep(300);
9 | var me=desc("我的").findOne();
10 | while (!me.parent().click());
11 | 签到文字 = text("签到领红包").findOne(200);
12 | if (!签到文字) {
13 | log("饿了吗签到失败");
14 | return;
15 | }
16 | 签到文字.parent().click();
17 | 签到();
18 | }
19 |
20 | function 签到() {
21 | waitForActivity("me.ele.component.web.c");
22 | sleep(200);
23 | if (desc("签到").findOnce()) {
24 | log("进入");
25 | desc("签到").findOnce().click();
26 | sleep(1000);
27 | 翻牌();
28 | }
29 | }
30 |
31 | function 翻牌(){
32 | click(device.width/2,device.height/2);
33 | }
34 |
35 | // module.exports = 饿了么;
36 | 饿了么();```
37 |
--------------------------------------------------------------------------------
/script/!绿色守护-结束应用.js.md:
--------------------------------------------------------------------------------
1 | # !绿色守护-结束应用.js
2 | ```
3 | var kill = [
4 | "QQ",
5 | "微信",
6 | "哔哩哔哩",
7 | "动漫之家",
8 | "抖音短视频",
9 | "支付宝",
10 | "东方头条",
11 | "今日头条",
12 | "头条来了",
13 | "惠头条",
14 | "手机淘宝",
15 | "百度网盘",
16 | "趣头条",
17 | "迅雷",
18 | "饿了么",
19 | "酷安",
20 | "夸克",
21 | "美团外卖",
22 | "全民K歌",
23 | "网易云音乐",
24 | "下厨房",
25 | "QQ音乐",
26 | "搜图神器"
27 | ];
28 |
29 | for (x = 0; x < kill.length; x++) {
30 | killApp(kill[x]);
31 | };
32 | home();
33 |
34 | function killApp(name) {
35 | app.openAppSetting(app.getPackageName(name));
36 | sleep(150);
37 | //text("强行停止").waitFor();
38 | var k = text("强行停止").findOne(500);
39 | if (k.drawingOrder() == 2) {
40 | k.click();
41 | text("确定").findOne().click();
42 | }
43 | }```
44 |
--------------------------------------------------------------------------------
/script/QQ清除好友聊天字体ok.js.md:
--------------------------------------------------------------------------------
1 | # QQ清除好友聊天字体ok.js
2 | ```
3 | //11月25更新
4 | var info="sdcard/tencent/MobileQQ/.font_info"
5 | toastLog("请务必允许读写手机存储权限,以保证本应用的正常运行");
6 | if(confirm("是否将所有好友聊天字体更改为手机自带?","你可以选择“确定”,您的好友聊天字体将会替换为系统默认,或者您点击“取消”,还原好友的个性字体。"))
7 | {
8 | if(files.exists(info))
9 | {
10 | files.removeDir(info);
11 | files.createIfNotExists(info);
12 | toastLog("请刷新QQ查看");
13 | toast("已修改");
14 | toast("✧*。٩(ˊωˋ*)و✧*。")
15 | log("有问题联系QQ:894300458")
16 | }
17 | else{log("字体文件不存在");
18 | log("您可能已经修改字体,或者你没有QQ");
19 | exit();
20 | }}
21 |
22 | else{ files.remove(info);
23 | toastLog("好友字体已经还原")
24 | toastLog("请重启QQ");
25 | toast("y( ˙ᴗ. )耶~")
26 | }
27 | log("如果你想恢复原来的好友字体,请结束此程序的运行,重新打开。");
28 | log("此软件无毒无害,张建新制作");
29 | exit();```
30 |
--------------------------------------------------------------------------------
/script/读短信 10条.js.md:
--------------------------------------------------------------------------------
1 | # 读短信 10条.js
2 | ```
3 | importClass(android.net.Uri);
4 | importClass(android.database.Cursor);
5 | importClass(android.content.ContentResolver);
6 |
7 | var SMS_INBOX = Uri.parse( "content://sms/" );
8 | var cr = context.getApplicationContext().getContentResolver();
9 | var projection=new Array("_id" , "address" , "person" , "body" , "date" , "type" );
10 | var cur = cr.query(SMS_INBOX, projection, null , null , "date desc" );
11 | var i=0;
12 | while (cur.moveToNext()) {
13 | i=i+1;
14 | var number = cur.getString(cur.getColumnIndex("address"));//手机号
15 | var name = cur.getString(cur.getColumnIndex("person"));//联系人姓名列表
16 | var body = cur.getString(cur.getColumnIndex("body"));//短信内容
17 | toastLog(number);
18 | toastLog(name);
19 | toastLog(body);
20 | if(i>10){break;}
21 | }
22 | ```
23 |
--------------------------------------------------------------------------------
/script/QQ语音.js.md:
--------------------------------------------------------------------------------
1 | # QQ语音.js
2 | ```
3 | importPackage(java.io);
4 | importPackage(java.text);
5 | importPackage(java.util);
6 | replace("/storage/sdcard0/tencent/MobileQQ/1289788761/ptt/group_20180219021019885.slk", "1289788761");
7 |
8 | function replace(src, qq) {
9 | var date = new Date();
10 | var allFile = new File("/storage/sdcard0/tencent/MobileQQ/" + qq + "/ptt/" + new SimpleDateFormat("yyyyMM").format(date) + "/" + new SimpleDateFormat("dd").format(date) + "/").listFiles();
11 |
12 | var toFile = Collections.max(Arrays.asList(allFile), {
13 | compare: function(p1, p2) {
14 | return p1.lastModified() - p2.lastModified();
15 | }
16 | });
17 | //toastLog(toFile);
18 | var toPath = toFile.getAbsolutePath();
19 | files.remove(toPath);
20 | files.copy(src, toPath);
21 | toFile.setLastModified(date.getTime());
22 | }```
23 |
--------------------------------------------------------------------------------
/script/应用工具.js.md:
--------------------------------------------------------------------------------
1 | # 应用工具.js
2 | ```
3 | var i = dialogs.select("请选择工具", "获取应用包名", "打开应用详情页", "卸载应用");
4 |
5 | if(i == -1){
6 | alert("没有选择任何工具!");
7 | }
8 |
9 | switch(i){
10 | case 0:
11 | //获取应用包名
12 | appName = rawInput("请输入应用名称", "QQ");
13 | packageName = getPackageName(appName);
14 | toast(packageName);
15 | setClip(packageName);
16 | toast("已复制到剪贴板");
17 | break;
18 | case 1:
19 | //打开应用详情页
20 | appName = rawInput("请输入应用名称", "微信");
21 | openAppSetting(getPackageName(appName));
22 | break;
23 | case 2:
24 | //卸载应用
25 | appName = rawInput("请输入应用名称");
26 | packageName = getPackageName(appName);
27 | if(packageName == ""){
28 | toast("应用不存在");
29 | }else if(confirm("确定卸载应用" + packageName + "吗?")){
30 | app.uninstall(packageName);
31 | }
32 | break;
33 | }```
34 |
--------------------------------------------------------------------------------
/script/获取通讯录.js.md:
--------------------------------------------------------------------------------
1 | # 获取通讯录.js
2 | ```
3 | /**
4 | *Usedfor: Auto.js Pro
5 | *Author: Hyun Mai QQ:2668649892
6 | *Features: 读取通讯录联系人
7 | *Tips: 请先允许读取通讯录权限
8 | */
9 |
10 |
11 | importClass(android.database.Cursor);
12 |
13 | var cursor = context.getContentResolver().query(android.provider.ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null);
14 | while (cursor.moveToNext()) {
15 | //读取通讯录的姓名
16 | var name = cursor.getString(cursor.getColumnIndex(android.provider.ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
17 | //读取通讯录的号码
18 | var number = cursor.getString(cursor.getColumnIndex(android.provider.ContactsContract.CommonDataKinds.Phone.NUMBER));
19 | if (name != number) {
20 | log("[名字]:" + name + " [号码]:" + number);
21 | } else {
22 | log("[号码]:" + number);
23 | }
24 | }```
25 |
--------------------------------------------------------------------------------
/script/autoGetCatCoin.js.md:
--------------------------------------------------------------------------------
1 | # autoGetCatCoin.js
2 | ```
3 |
4 |
5 | function clickAndBack(point){
6 | point.click();
7 | sleep(2000);
8 |
9 | swipe(500, 1500, 500, 1000, 2000);
10 | sleep(17000);
11 |
12 | //点完后退
13 | back();
14 | //暂停加载
15 | sleep(1500);
16 | }
17 |
18 | function goShop() {
19 |
20 | let n = 1;
21 | while (n < 20) {
22 | let point = text("去进店").findOne(2000);
23 | if(point == null) return ;
24 | // log("join: "+point)
25 | clickAndBack(point)
26 | }
27 |
28 | }
29 |
30 | function goLook(){
31 | while(true){
32 | let point = text("去浏览").findOne(2000);
33 | if(point == null) return ;
34 | // log("join: "+point)
35 | clickAndBack(point)
36 | }
37 | }
38 |
39 | goShop();
40 |
41 | goLook();
42 |
43 |
44 |
45 | ```
46 |
--------------------------------------------------------------------------------
/script/qq批量建群(不完美).js.md:
--------------------------------------------------------------------------------
1 | # qq批量建群(不完美).js
2 | ```
3 | auto.waitFor()
4 | launchApp("QQ")
5 | //先把要拉的人拉进一个群,并顶置该群
6 | for (i = 0; i < 4/*一个时段只能建4个*/; i++) {
7 | waitForActivity("com.tencent.mobileqq.activity.SplashActivity")
8 | className("ImageView").click()
9 | text("创建群聊").findOne().parent().click()
10 | text("从群聊中选择").click()
11 | waitForActivity("com.tencent.mobileqq.activity.selectmember.SelectMemberActivity")
12 | className("AbsListView").findOne().child(1).click()
13 | className("CheckBox").waitFor()
14 | className("FrameLayout").untilFind().click()
15 | textContains("立即创建\(").click()
16 | textContains("已选择").findOne().parent().click()
17 | id("input").waitFor()
18 | sleep(1200)
19 | if (textContains("取个名字").exists()) {
20 | id("rlCommenTitle").findOne().child(0).click()
21 | }
22 | }```
23 |
--------------------------------------------------------------------------------
/script/悬浮窗下拉框.js.md:
--------------------------------------------------------------------------------
1 | # 悬浮窗下拉框.js
2 | ```
3 | var w = floaty.rawWindow(
4 |
5 | 悬浮文字
6 |
7 |
8 | 下拉菜单
9 |
10 |
11 |
12 |
13 | );
14 | w.setPosition(500, 500);
15 |
16 |
17 |
18 | w.sp1.on("key", function(keyCode, event){
19 | if(event.getAction() == event.ACTION_DOWN && keyCode == keys.back){
20 | w.disableFocus();
21 | event.consumed = true;
22 | }
23 | });
24 |
25 | w.sp1.on("touch_down", ()=>{
26 | w.requestFocus();
27 | w.sp1.requestFocus();
28 | });
29 |
30 | setTimeout(() => {
31 | w.close();
32 | }, 5000);```
33 |
--------------------------------------------------------------------------------
/script/00-读&删指定文本行.js.md:
--------------------------------------------------------------------------------
1 | # 00-读&删指定文本行.js
2 | ```
3 | /*
4 | **脚本作用:读取指定路径txt文本,读取有效的一行并删除该行
5 | **脚本源码:Hyun Mai
6 | **代码优化及测试:魚離ヤ吥開氺
7 | **时间:2019.03.28
8 | **测试系统:安卓8.1
9 | **Auto.js版本: 4.1.1
10 | 优化内容:
11 | 正则匹配去除不规范行
12 | 如删除空白行,去除行内容前后空格等
13 | 正确读取有效行,并删除改行
14 | */
15 | //测试读&&删/去空白行,去字符串前后空格
16 |
17 | toastLog(read_delete());
18 |
19 |
20 | function read_delete() {
21 | var path = "/sdcard/1/1.txt"; //txt文本路径
22 | var reg = /^\s+|\s+$/g; //匹配无效空白行
23 | var txt = files.read(path).replace(reg, "").split("\n");
24 | let ret_text = txt[0];
25 | log(ret_text.length);
26 | if (txt != "") {
27 | txt.splice(0, 1);
28 | files.write(path, txt.join("\n"));
29 | if (ret_text.length > 0) {
30 | return ret_text.trim();
31 | }
32 | } else {
33 | return "没有号了";
34 | }
35 |
36 | }```
37 |
--------------------------------------------------------------------------------
/script/QQ名片点赞(只点赞好友).js.md:
--------------------------------------------------------------------------------
1 | # QQ名片点赞(只点赞好友).js
2 | ```
3 | "auto";
4 |
5 | var 延迟 = 100;
6 |
7 | launchApp("QQ");
8 | toast("请打开自己的资料页,点击点赞图标");
9 | sleep(500);
10 | waitForActivity("com.tencent.mobileqq.activity.VisitorsActivity");
11 |
12 | while(notStopped()){
13 | var list = className("AbsListView").findOne();
14 | list.children().each(function(child){
15 | if(!child)
16 | return;
17 | var l = child.findByText("(好友)");
18 | if(l.size() > 0){
19 | var like = child.findOne(className("ImageView").desc("赞"));
20 | for(let i = 0; i < 10; i++){
21 | like.click();
22 | sleep(延迟);
23 | }
24 | }
25 | });
26 | click("显示更多");
27 | click("显示更多");
28 | if(currentActivity() == "com.tencent.mobileqq.activity.VisitorsActivity"){
29 | list.scrollForward();
30 | }
31 | }```
32 |
--------------------------------------------------------------------------------
/script/js进阶教程03.js.md:
--------------------------------------------------------------------------------
1 | # js进阶教程03.js
2 | ```
3 | /*
4 | 两次实例的目的一样,结果却不同,对,数据类型的不同,只有对象才能进行.的运算操作,log(a.b),这段代码的含义是,输出一个对象a里面一个下标为b的值
5 | 那么问题来了,某某.某某,前者必须是对象类型(Object)我们再来看看实例一,a.length,这里的a数据类型为String字符串类型,那么你可以理解为字符串.length
6 | 在正常情况下肯定是会报错的,其实在这里,JavaScript做了一个我们看不见的运算,当执行到a.length的时候,JavaScript会临时把a字符串包装成String对象,然后获取
7 | a的内容,再获取该对象的length属性,最后,这个临时的对象被释放,那么执行a.length 的时候JavaScript做了四步我们看不见的运算,第一步,把字符串类型的a包装成
8 | String对象类型的a;第二部,获取该对象a的值;第三步,获取该对象的length属性,第四部,释放该变量,也就是把String对象类型转换为String类型,String类型在实例二
9 | 有介绍
10 |
11 | var String对象 = new String("我是字符串对象,我有length属性");
12 | var 普通String字符串 = "我是个普通的字符串,我没有length属性";
13 |
14 | */
15 | console.show();
16 |
17 | //实例1
18 | var a = '大家好我是留一手';
19 | log('a变量的长度为:'+a.length+'\na变量的数据类型为'+typeof(a));
20 |
21 | //实例2
22 | var b = new String('大家好我是留一手');
23 | log('a变量的长度为:'+b.length+'\na变量的数据类型为'+typeof(b));```
24 |
--------------------------------------------------------------------------------
/script/UI验证码(有BUG).js.md:
--------------------------------------------------------------------------------
1 | # UI验证码(有BUG).js
2 | ```
3 | "ui";
4 | var A = random(1000, 9000)
5 | main();
6 | function main() {
7 | ui.layout(
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | );
16 | }
17 |
18 | ui.hq.on("click", () => {
19 | scyzm();
20 | });
21 |
22 | function scyzm() {
23 | dialogs.confirm("验证码是" + A)
24 | }
25 | ui.ok.on("click", () => {
26 | pd();
27 | });
28 |
29 | function pd() {
30 | var B = ui.yzm.text();
31 | if (A == B) {
32 | dialogs.alert("正确")
33 | } else {
34 | dialogs.alert("错误")
35 | }
36 | }
37 | //超丑代码你看个鸟
38 | //bug:每运行一次只能生产一个验证码```
39 |
--------------------------------------------------------------------------------
/script/沙雕网友.js.md:
--------------------------------------------------------------------------------
1 | # 沙雕网友.js
2 | ```
3 | "ui";
4 |
5 | var usay;
6 | var r;
7 | var str;
8 | var res;
9 | var a;
10 |
11 |
12 | ui.layout(
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | );
21 |
22 | ui.ok.click(function()
23 | {
24 | usay = ui.u.getText();
25 | threads.start(function()
26 | {
27 | r = http.postJson("http://www.tuling123.com/openapi/api", { key: "65458a5df537443b89b31f1c03202a80",
28 | info: usay, userid: "1", });
29 | str=JSON.stringify(r.body.string());
30 | res=JSON.parse(str);
31 | a=JSON.parse(res).text;
32 | });
33 |
34 | setText(0,a);
35 | });```
36 |
--------------------------------------------------------------------------------
/script/QQ点赞.js.md:
--------------------------------------------------------------------------------
1 | # QQ点赞.js
2 | ```
3 | console.show()
4 | var 赞 = className("ImageView").desc("赞").untilFind();
5 | var tu = descContains("次赞");
6 | var 名片界面 = desc("编辑资料").text("编辑资料");
7 |
8 | function 下滑() {
9 |
10 | className("AbsListView").id("name").scrollable().scrollForward();
11 |
12 | }
13 |
14 | function 名片() {
15 | if (名片界面.findOne(1000)) {tu.click()
16 | log("名片界面")
17 | }
18 | else if(赞){log("开始点赞");点赞()}
19 | else {
20 | log("正在寻找")
21 | }
22 |
23 |
24 |
25 | }
26 |
27 |
28 |
29 | function 点赞() {
30 | 赞
31 | .each(function(item) {
32 | for (var i = 0; i < 5; i++) {
33 | log("点赞");
34 | item.click();
35 | sleep(100)
36 | }
37 |
38 |
39 | });
40 |
41 | 下滑()
42 | }
43 |
44 |
45 | for (;;) {
46 | 名片()
47 | }```
48 |
--------------------------------------------------------------------------------
/script/一键运行脚本v3.js.md:
--------------------------------------------------------------------------------
1 | # 一键运行脚本v3.js
2 | ```
3 | var folder = "/sdcard/脚本/签到/";//脚本文件夹
4 | var cancelsign = "##";//取消运行标志
5 | var checktime = 5;//每5秒检查一次脚本状态,结束了就运行下一个
6 | var timeout = 90;//90秒超时,超过后强制停止、运行下一个
7 |
8 | //浅叶制作
9 | Alljs = files.listDir(folder,function(name){
10 | if (name.indexOf(cancelsign) != -1){
11 | return false;
12 | }
13 | return name.endsWith(".js");
14 | });
15 |
16 | for (x in Alljs){
17 | var egn;var egm;
18 | egn = engines.execScriptFile(folder + Alljs[x]);
19 | sleep(500);
20 | egm = egn.getEngine();
21 |
22 | for (var i=0;i < timeout;i = i + checktime){
23 | if (egm.isDestroyed ()){
24 | break;
25 | }
26 | toastLog("已等待"+i+"秒")
27 | sleep(checktime * 1000)
28 | }
29 |
30 | sleep(1000);
31 | egm.forceStop();
32 | }
33 |
34 | toast("已完成所有脚本");```
35 |
--------------------------------------------------------------------------------