最后一次AutoJs超神级代码分享

91 篇文章 6 订阅
4 篇文章 1 订阅

源代码下载链接:https://pan.baidu.com/s/16Ar8RLG9WPN8SMlfGsLwjQ 提取码:hjeo 

奋斗了120多个日夜终于算有点小成果,到今天所有的实战内容就都完事了。这个是我最后一次和大家分享代码。薅羊毛本身不违法就这个事情本身也不算在道德阴暗面,不过大家切莫指望这个有所…大家娱乐学习都成。千万别拿这个代码做一些不适合的事情。

个人认为最值得大家拥有的就是薅羊毛专业版和抖音短视频养号。自媒体大道当行的时代这2个app还是能做点小事情的,接下来我会潜心研究基于Python的自媒体小助手希望大家也能关注和支持我。

薅羊毛代码99%都是我原创,100多天的努力老铁给点支持,小弟谢过了。 项目结构大家可以先看一下。源代码包含:薅羊毛个人版和10多个高收益App集合。有图有真相,下面的2个图已经说明一切了。

列举一下包含的代码:

UI版本

  1. 薅羊毛专业版
  2. 薅羊毛个人版
  3. 薅羊毛UI版
  4. 抖音短视频养号
  5. 抖音三合一小助手
  6. 抖音小助手
  7. 彩蛋视频小助手
  8. 火火视频小助手
  9. 火山小助手
  10. 今日头条辅助
  11. 快逗小助手
  12. 快手辅助
  13. 闪电盒子极速版辅助
  14. 小吃货助手
  15. 小说阅读辅助
  16. 音浪短视频辅助
  17. 中青看点小助手
  18. 长豆
  19. 刷宝短视频
  20. 魔视(没做完不搞了)
  • 小视频类
  1. 抖音极速版
  2. 快手极速版
  3. 火山极速版
  4. 火火视频极速版
  5. 彩蛋视频
  6. 栗子视频
  7. 有颜短视频
  8. 音浪短视频
  9. 闪电盒子极速版
  10. 鲤刷刷
  11. 魔视
  12. 红包视频
  13. 天天视频
  14. 追看视频
  15. 爱走路(爱视频模块)
  16. 快音
  17. 淘看点
  18. 网赚红包短视频
  19. 刷宝短视频
  20. 刷爆短视频
  21. 快刷
  22. 淘金号
  23. 变身记短视频
  24. 多多视频
  25. 高手短视频
  26. 辣手小视频
  27. 趣宠短视频
  28. 趣多多
  29. 趣看看
  30. 趣头条
  31. 闪鸭短视频
  32. 天天短视频
  33. 微视
  34. 小吃货短视频
  35. 音浪短视频
  36. 有颜短视频
  37. 中青看点
  • 走路类
  1. 爱走路
  2. 多多步
  3. 猫扑运动
  4. 步多多
  5. 惠运动(封号)
  6. 欢乐走
  7. 走路赚钱
  • 小说类
  1. 七猫免费小说
  2. 番茄小说
  3. 疯读小说
  4. 免费淘小说
  5. 米读小说
  6. 喜马拉雅
  7. 喜马拉雅极速版
  • 新闻类
  1. 今日头条极速版
  2. 百度极速版
  3. 看点快报
  4. 趣头条
  5. 惠头条(看视频)
  • 综合类
  1. 京东(领京东豆)
  2. 闪电盒子极速版
  3. 淘最热点
  4. 玩赚星球

50个小视频源码;

7个走路签到领金币源码;

8个故事类源码;

9个综合类源码。

抖音极速版专辑6个源码(自动刷、看同城、领宝箱、清理缓存、自动答复和自动提现)

快手极速版专辑4个源码(自动刷、清理缓存、自动答复和自动签到)

火山极速版辑4个源码(自动刷、清理缓存、自动答复和自动签到)

今日头条专辑4个源码(读新闻、清理缓存、读小说和自动搜索)

火火小视频专辑(自动刷、清理缓存、自动评论和自动提现)

彩蛋视频专辑3个源码(自动刷、自动评论和自动提现)没有清理缓存的菜单所以没做

快逗短视频(自动刷、自动评论和自动提现)没有清理缓存的菜单所以没做

有颜短视频(自动刷、自动评论和自动提现)没有清理缓存的菜单所以没做

中青看点(自动刷、清理缓存、自动评论和自动提现)

闪电盒子(自动刷、清理缓存、自动评论和自动提现)

快逗短视频(自动刷、清理缓存、自动评论和自动提现)

小吃货短视频(自动刷、清理缓存、自动评论和自动提现)

音浪短视频(自动刷、清理缓存、自动评论和自动提现)

抖音养号

抖音三合一小助手

专业版项目虽然是单文件我还是区分了一地下公共方法,感觉还是用处也很大的特别是还在这个平台上奋斗的老特们:


//#region 公共方法
/**
 * 屏幕向下滑动并延迟timesInterval+-秒
 */
function slideScreenDown(startX, startY, endX, endY, pressTime, timesInterval) {
    swipe(startX, startY, endX, endY, pressTime);
    let randomMin = timesInterval * 1000;
    let randomMax = (parseInt(timesInterval) + 2) * 1000;
    let delayTime = random(randomMin, randomMax);
    sleep(delayTime);
}
/**
 * 按照指定概率随机上滑
 * @param {*} startX 
 * @param {*} startY 
 * @param {*} endX 
 * @param {*} endY 
 * @param {*} pressTime 
 * @param {*} probability 
 */
function randomUpSildeScreen(startX, startY, endX, endY, pressTime, probability) {
    let randomIndex = random(1, parseInt(probability));
    if (randomIndex == 1) {
        swipe(startX, startY, endX, endY, pressTime);
        delayTime = random(12000, 15000);
        sleep(delayTime);
    }
}
/**
 * 连续下滑对上一个无兴趣
 * 其实得和上滑做个排他,既然无兴趣不要在上滑
 */
function randomDownSildeScreen(startX, startY, endX, endY, pressTime, timesInterval, probability) {
    let randomIndex = random(1, parseInt(probability));
    if (randomIndex == 1) {
        swipe(startX, startY, endX, endY, pressTime);
        sleep(2000);
        swipe(startX, startY, endX, endY, pressTime);
        sleep(timesInterval);
    }
}
/**
 * 屏幕向下滑动并延迟8至12秒
 */
function slideScreenDown(startX, startY, endX, endY, pressTime) {
    swipe(startX, startY, endX, endY, pressTime);
    let delayTime = random(8000, 12000);
    sleep(delayTime);
}
/**
 * 随机点赞
 * @param {点赞ID}} view_id 
 */
function randomHeart(view_id, probability) {
    index = random(1, parseInt(probability));
    if (index == 1) {
        var target = id(view_id).findOnce();
        if (target == null) {
            return;
        } else {
            target.click();
            sleep(1000);
        }
    }
}
/**
 * 随机关注
 * @param {控件ID} follow_view_id 
 * @param {概率} probability 
 */
function randomFollow(follow_view_id, probability) {
    index = random(1, parseInt(probability));
    if (index == 1) {
        var target = id(follow_view_id).findOnce();
        if (target == null) {
            return;
        } else {
            target.click();
            sleep(1000);
        }
    }
}
/**
 * 输出Tosat和Info日志
 * @param {日志消息} messagge 
 */
function toastInfo(message) {
    writeLog(message,"info");
}
/**
 * 输出Tosat和Error日志
 * @param {日志消息} messagge 
 */
function toastError(message) {
    writeLog(message,"error");
}
function toastLog(message) {
    writeLog(message,"log");
}
function toastWarn(message) {
    writeLog(message,"warn");
}
/**
 * 写日志,toast、consle和文件日志
 * @param {日志内容} loginfo 
 * @param {日志等级} level 
 */
function writeLog(loginfo, level) {
    try {
        var logName=getDate()+"_"+"Log.txt";
        var logPath = rootPath + "/日志/";
        let message = getTime() + ":" + loginfo;
        if (!files.isDir(rootPath)) {
            if (files.create(rootPath)) {
                files.create(logPath)
            }
        } else {
            files.create(logPath)
        }
        let logFilePath = logPath + "/"+logName;
        if (!files.exists(logFilePath)) {
            files.create(logFilePath);
            files.write(logFilePath, message + "\r");//写日志
        }
        else {
            files.append(logFilePath, message + "\r");//追加日志
        }
        toast(message);
        if (level == "log") {
            console.log(message);
        } else if (level == "info") {
            console.info(message);
        } else if (level == "warn") {
            console.warn(message);
        } else if (level == "error") {
            console.error(message);
        }
    } catch (error) {
        console.error("系统再写日志的时候出现错误若不影响使用请略过"+error);
    }
}
/**
 * 记录App签到时间
 * @param {App名称} appName 
 */
function getSignTime(appName) {
    let key = appName + storageSign;
    let value = woolStorage.get(key);
    return value;
}
function Color(color) {
    return android.graphics.Color.parseColor(color);
}
function GradientDrawable(orientation, color) {
    var colors = [];
    color.forEach(color => colors.push(Color(color)));
    return new android.graphics.drawable.GradientDrawable(android.graphics.drawable.GradientDrawable.Orientation[orientation], colors);
}
/**
 * 青少年窗口
 */
function adolescentWindows() {
    if (text("我知道了").exists()) {
        text("我知道了").findOnce().click();
    }
    if (text("知道了").exists()) {
        text("知道了").findOnce().click();
    }
}
/**
 * 记录App签到时间
 * @param {App名称} appName 
 */
function recordSignTime(appName) {
    let key = appName + storageSign;
    let value = getDate();
    woolStorage.put(key, value);
}
/**
 * 记录App一次运行的时间
 * @param {appName} appName 
 * @param {本次运行时间} recordTimes 
 */
function appRunTimeRecord(appName, recordTimes) {
    let key = appName + storageSign + getDate();
    var havedRunTimes = woolStorage.get("" + key + "");
    let value = "";
    if (havedRunTimes == null) {
        woolStorage.put(key, parseInt(recordTimes));
    } else {
        value = parseInt(havedRunTimes) + parseInt(recordTimes);
        woolStorage.put(key, value);
    }
}
/**
 * 秒转换成小时
 * @param {*} appCount 
 * @param {*} foreachCount 
 * @param {*} slideTimes 
 * @param {*} timesInterval 
 * @param {*} isExistsLongTimes 
 */
function computerTime(appCount, foreachCount, slideTimes, timesInterval, isExistsLongTimes) {
    let maxSecond = appCount * foreachCount * slideTimes * timesInterval;
    let maxHour = maxSecond / 3600;
    return Math.round(maxHour);
}
/**
 * 获取当前时间格式yyyyMMdd
 */
function getDate() {
    var date = new Date();
    var year = date.getFullYear();
    var month = date.getMonth() + 1;
    if (month < 10) {
        month = "0" + month;
    };
    var day = date.getDate();
    if (day < 10) {
        day = "0" + day;
    };
    return year + "-" + month + "-" + day;
}
/**
 * 
 */
function getTime() {
    var date = new Date();
    var year = date.getFullYear();
    var month = date.getMonth() + 1;
    if (month < 10) {
        month = "0" + month;
    };
    var day = date.getDate();
    if (day < 10) {
        day = "0" + day;
    };
    var hour = date.getHours();
    if (hour < 10) {
        hour = "0" + hour;
    };
    var minute = date.getMinutes();
    if (minute < 10) {
        minute = "0" + minute;
    };
    var seconds= date.getSeconds();     //获取当前秒数(0-59)
    var millisecond =date.getMilliseconds();    //获取当前毫秒数(0-999)
    return year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + seconds;
};
/**
 * JS构建Map
 */
function Map() {
    var obj = {};
    this.put = function (key, value) {
        obj[key] = value;//把键值绑定到obj对象上
    }
    //size方法,获取Map容器的个数
    this.size = function () {
        var count = 0;
        for (var attr in obj) {
            count++;
        }
        return count;
    }
    //get方法,根据key获取value的值
    this.get = function (key) {
        if (obj[key] || obj[key] === 0 || obj[key] === false) {
            return obj[key]
        } else {
            return null;
        }
    }
    //remove方法,删除方法
    this.remove = function (key) {
        if (obj[key] || obj[key] === 0 || obj[key] === false) {
            delete obj[key]
        }
    }
    //each方法,遍历方法
    this.eachMap = function (callBack) {
        for (var attr in obj) {
            callBack(attr, obj[attr])
        }
    }

}
/**
 * map排序(核心是冒泡有点笨)
 */
function mapSort(mapTask) {
    var arr = [];
    var result = [];
    mapTask.eachMap(function (key, value) {
        arr.push(parseInt(value));
        result.push(key);
    });
    var len = arr.length;
    for (var i = 0; i < len - 1; i++) {
        for (var j = 0; j < len - 1 - i; j++) {
            // 相邻元素两两对比,元素交换,大的元素交换到后面
            if (arr[j] > arr[j + 1]) {
                var temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
                //value交换key也得换
                var keyTemp = result[j + 1];
                result[j + 1] = result[j];
                result[j] = keyTemp;
            }
        }
    }
    return result;//返回数组  
}
/**
 *点击一下屏幕
 */
function clickScreen() {
    var x = device.width - device.width * 0.2;
    var y = device.height - device.height * 0.2;
    toastLog("点击屏幕" + x + ":" + y);
    let clickResult = click(x, y);
    toastLog(clickResult);
}
//#endregion

个人认为最值得大家拥有的就是薅羊毛专业版和抖音短视频养号。自媒体达到当行的时代这2个app还是能做点小事情的,接下来我会潜心研究基于Python的自媒体小助手希望大家也能关注和支持我。

100 多个源码一次让您成为 AutoJs 高手,高手成大神。同时让您真真正正的薅羊毛挣外快。

学习知识费力气,

收集整理更不易。

知识付费甚欢喜,

为咱码农谋福利。

源代码下载链接:https://pan.baidu.com/s/16Ar8RLG9WPN8SMlfGsLwjQ 提取码:hjeo 

  • 5
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 18
    评论
### 回答1: AutoJS 是一个 JavaScript 脚本引擎,可以在 Android 设备上运行。下面是一段简单的代码,演示如何使用 AutoJS 让手机屏幕亮起: ``` setScreenBrightness(1); function setScreenBrightness(brightness) { device.setBrightness(brightness); } ``` 这段代码使用 `device.setBrightness` 方法来设置手机屏幕亮度,并将亮度设置为最大值(1)。 ### 回答2: 当然可以!以下是一个使用AutoJS编写的简单代码段: ```javascript // 在AutoJS中,我们可以使用toast来显示吐司通知 toast("开始运行代码"); // 声明一个变量 var num1 = 10; var num2 = 5; // 将两个数相加,并将结果存储在一个变量中 var sum = num1 + num2; // 在控制台输出结果 console.log("两个数的和为:" + sum); // 使用if语句判断两个数是否相等,并给出相关的提示 if (num1 == num2) { toast("两个数相等"); } else { toast("两个数不相等"); } // 使用for循环打印数字1到5 for (var i = 1; i <= 5; i++) { log(i); } toast("代码执行完毕"); ``` 以上代码使用AutoJS实现了以下功能: 1. 弹出一个吐司通知,提示代码开始运行; 2. 定义两个变量,并计算它们的和; 3. 打印计算结果到控制台; 4. 使用if语句对两个数进行比较,并给出相应的提示; 5. 使用for循环打印数字1到5; 6. 弹出一个吐司通知,提示代码执行完毕。 请注意,以上代码仅为示例,你可以根据自己的需求进行修改和扩展。 ### 回答3: AutoJS 是一种基于JavaScript语言的自动化测试工具,用于在安卓设备上进行自动化操作。下面是一个简单的示例代码: ```javascript // 引入AutoJS的命名空间 var auto = require("autojs"); // 创建一个函数来执行自动化操作 function autoScript() { // 点击屏幕上的坐标(500, 1000) auto.click(500, 1000); // 等待2秒钟 auto.sleep(2000); // 在屏幕上滑动 auto.swipe(500, 1000, 500, 500, 500); // 等待1秒钟 auto.sleep(1000); // 输入文字 auto.input("Hello, AutoJS!"); // 点击屏幕上的按钮 auto.click("确定"); } // 执行自动化操作 autoScript(); ``` 上述代码首先引入AutoJS的命名空间,然后创建一个`autoScript`函数来执行具体的自动化操作。在这个函数中,我们使用`auto.click`函数来模拟点击屏幕上的坐标,使用`auto.sleep`函数来等待一段时间,使用`auto.swipe`函数来在屏幕上进行滑动操作,使用`auto.input`函数来输入文字,使用`auto.click`函数来点击按钮。最后,通过调用`autoScript`函数来执行自动化操作。请注意,在实际应用中,代码的具体内容和逻辑可能会有所不同,这只是一个简单的示例。
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

亚丁号

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

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

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

打赏作者

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

抵扣说明:

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

余额充值