Hamibot 基于AutoJs的自动化安卓app小程序赚钱神奇
1. 前言
最近发现一款神器「 Hamibot 」,它是一款 Android 端的自动化工具,它基于 AutoJS 源码进行的二次开发
官方网站:https://docs.hamibot.com/
Hamibot 脚本市场提供了很多脚本,我们都可以免费导入进行试用
首先,我们在 PC Web 的控制台添加一个机器人,然后使用手机通过「 配对码 」进行配对,接着从脚本市场选择一个功能脚本导入,最后在控制台运行脚本就可以在手机上运行一系列自动化操作了
当然,我们也可以根据官方文档编写一些实用的脚本上传到平台上,获取一些佣金提成
由于 Hamibot 基于 AutoJS,语法都大同小异,所以本篇文章将只介绍 Hamibot 一些实用的使用技能
2. 实用技能
2-1 App 保活在线
自动化脚本运行实际上是 App 接受到 Web 端 Hamibot 控制台发送的指令,进而驱动手机进行的一系列动作,所以保证 Hamibot App 在后台一直运行变得非常重要
程序保活主要包含 6 个方面,分别是:
前台服务
打开 Hamibot App,从侧边栏中开启「 前台服务 」功能
悬浮窗
打开 Hamibot App,从侧边栏中开启「 悬浮窗 」功能
应用自启动
手机进入到设置中,搜索关键字「 应用管理 」,选择 Hamibot 应用,开启「 自启动 」功能
不锁定屏幕
首先手动开启开发者选项( 不同厂商系统手机的开启方式不一致,一般是在系统版本连续点击多次就可以开启开发者选项 ),然后在开发者选项中开启「 不锁定屏幕 」功能,这样在手机充电时,屏幕不会休眠
关闭省电策略
在手机应用设置中,选择省电策略为「 不限制 」,这样 App 会在后台一直运行
保证手机一直联网
只有手机一直联网,Hamibot 控制台才能将指令传输给设备进行运行
2-2 启动应用
Hamibot 中的 app 模块提供了很多函数用于操作 App 应用
其中,启动一个应用有 3 种方式
# 启动应用的3种方式
# 方式一:通过应用的名称
# 比如:某宝、某多、某条
app.launchApp('某宝');# 方式二:通过应用的包名
# 包名通过adb命令或者Android Studio 去解析 APK 获取
# 比如:启动 Hamibot 应用
app.launch('com.hamibot.hamibot');# 方式三:与第二种类似,全局函数
# 通过应用包名启动应用
launchPackage('com.hamibot.hamibot');
2-3 触摸操作
触摸操作是基于屏幕坐标进行点击、长按、滑动等操作,但是该操作需要 Android 7.0 以上或 Root 权限才能有效
PS:对于一些基于元素的点击操作失效的场景,换成触摸操作反而能很好的解决问题
// 使用触摸操作点击某个元素
// 获取某个元素
var widget = id('xxx').findOne();// 获取其中心位置,执行点击操作
click(widget.bounds().centerX(), widget.bounds().centerY());
2-4 控件操作
控件操作为编写脚本的核心内容,AutoJS 和 Hamibot 官方文档都非常的详细地列出了 UiSelector、UiObject、UiCollection 的使用方法
官方文档:
https://docs.hamibot.com/reference/widgetsBasedAutomation/
2-5 网络请求
结合网络请求,能将爬虫与自动化完美地结合在一起
这里以常见的 GET、POST 请求为例
// 1-GET请求
// 网络请求,获取响应值
var r = http.get('www.baidu.com');
// 响应码
log('code = ' + r.statusCode);
// 响应体(字符串)
log('html = ' + r.body.string());// 2-POST 请求
var url = 'http://www.**.com/api/login';//直接传入一个字典作为参数
r = http.postJson(url, {username: 'xag',password: '123456'
});//获取请求的响应并弹出吐司
toastLog(r.body.string());
官网提供了网络请求的基础函数,大家可以自行去扩展使用
2-6 线程
脚本默认是在主线程中运行的,我们可以将一些耗时的操作添加到线程中执行
auto.waitFor();//开启一个子线程
threads.start(function() {//在新线程执行的代码while (true) {log('子线程');}
});//主线程
while (true) {log('脚本主线程');
}
3. 拓展一下
在实际使用 Hamibot 的过程中,发现其提供的定时任务没有 AutoJS 使用起来方便
比如,如果我想固定在每一天的某个时间执行某个脚本,可惜的是,官方提供的任务功能没有实现
这时候,我们就需要我们在代码中自己去实现这个功能点了
function setScheduledTask(hour, minute, callTask) {let taskTime = new Date();taskTime.setHours(hour);taskTime.setMinutes(minute);let timeDiff = taskTime.getTime() - (new Date()).getTime(); // 获取时间差timeDiff = timeDiff > 0 ? timeDiff : (timeDiff + 24 * 60 * 60 * 1000);setTimeout(function() {callTask(); setInterval(callTask, 24 * 60 * 60 * 1000); // 24小时为循环周期}, timeDiff);
}//获取配置文件中设置的时间(小时、分钟)
const { hour,minute } = hamibot.env;
toastLog(hour);
toastLog(minute)function create_thread_and_do_something(){//定义子线程var my_thread = threads.start(function(){console.log("开始执行子线程。 。。。")...console.log("结束执行子线程。。。。")})
}// 每天某个时间开启一个子线程,执行一个任务
setScheduledTask(hour, minute, create_thread_and_do_something);
4. 最后
上面内容列出了使用 Hamibot 编写自动化脚本需要掌握的一些功能点
Hamibot 和 AutoJS 的脚本语法基本类似,但是 Hamibot 在易用性、稳定性、群控方面更有优势一点,更多复杂的功能大家可以自行去查阅官方文档去拓展
如果你觉得文章还不错,请大家 点赞、分享、留言 下,因为这将是我持续输出更多优质文章的最强动力!
Hamibot 基于AutoJs的自动化安卓app小程序赚钱神奇相关推荐
- 简单的安卓app小程序代码_开发一款APP大概需要多少钱?
伴随着近几年移动互联网的飞速发展和智能手机的普及,为了更好地进行品牌营销和线上交易,越来越多的企业想要开发属于本身的手机app,所有企业在开发APP之前最关心的题目就是"开发一款手机APP到 ...
- java计算机毕业设计基于安卓/微信小程序的大学生心理测试咨询管理系统app
项目介绍 随着社会经济的发展,医疗卫生事业取得了巨大进步,在健康中心理健康占据越来越重要的地位,什么是心理健康:心理健康,从广义上讲,是指一种高效而满意的.持续的心理状态.从狭义上讲,心理健康是指人的 ...
- app小程序手机端Python爬虫实战12实现自动化退出考研帮app并清空缓存
app小程序手机端Python爬虫实战11实现自动化退出考研帮app并清空缓存 一.捕获安卓吐司的消息 结束安卓的吐司操作: while True:if self.d.toast.get_messag ...
- 基于uniapp开发DiscuzQ社区的ios和安卓、小程序H5
Discuz!Q生成多端小程序和APP. 基于DiscuzQ!3.0版本API,使用UNIAPP框架重构,暂时没有做登录互动和支付相关功能. 基于uniapp开发DiscuzQ社区的ios和安卓.小程 ...
- 基于cordova打包RPGMAKERMV 安卓app
基于cordova打包RPGMAKERMV 安卓app 1.RPGMakerMV部分 部署出网页项目 2.node部分 https://nodejs.org/en/ 上下载node左边稳定版,右边是包 ...
- 5G需要什么APP小程序?哪里有免费制作5G小程序APP和网站
5G已经到来,每一个关注前沿领域的人都在关心5G的时代红利是否能为我们所用. 5G会给我们带来什么信息变革和社会变革? 在5G时代,信息的通信能力提升十倍以上,信息延迟仅为约0.005秒,会催化对带宽 ...
- 基于线上的茶叶购买小程序(论文+程序设计源码+数据库文件)
微信小程序在日常生活中应用越来越广,网上消费.游戏娱乐等成为了一种常见应用方式.为进一步了解和探索微信小程序在点餐系统中的潜在价值和意义,本文通过使用 Javascript 技术.Spring boo ...
- 基于腾讯云的艺术展小程序
第一章 项目背景 1.1 项目简介和应用现状 基于腾讯云的艺术展小程序:打造集美术鉴赏.艺术科普.当代优秀艺术品交流多功能融艺术性.知识性.趣味性.便利性于一体的一站式平台,为广大艺术爱好者提供优质服 ...
- WoShop多商户直播短视频APP小程序商城全开源无加密商城源码
WoShop多商户直播短视频APP小程序商城全开源无加密商城源码 基于现场直播+购物模式,用户可以"边看边买"现场直播商城平台,全终端支持,统一管理后台,传播更强,管理更方便,支持 ...
最新文章
- 苹果Swift语言中文教程资源汇总
- 平面设计现在行业发展如何?
- fiddler自动响应AutoResponder之正则匹配Rule Editor
- neo4j查询多跳关系的方法
- 最具体的历史centos下一个 postfix + extmail + dovecot + maildrop 安装注意事项2014更新...
- java nio的演进_Java接口的防御性API演进
- commonJS — DOM操作(for DOM)
- 2021年,彩票店还开的下去吗?
- WPF学习笔记5: Xaml之Markup Extensions
- Java中遍历Set集合的三种方法
- Netty框架中的@Skip使用说明
- ubuntu下vscode编写cgo程序
- 数据库面试题---原理
- linux系统防火墙白名单,linux系统防火墙如何结束白名单
- java 异或_Java异或详解
- 输入输出管理:假脱机技术(SPOOLING)
- 浅谈升级到 MacBook Air M1的体验
- 基于javaweb的水果店商城超市系统(java+ssm+jsp+ajax+jquery+mysql)
- 【GIS开发】VB6.0下MO控件的安装:安装教程及MO破解教程(MapObjects2.x)
- CADD课程学习(13)-- 研究蛋白小分子动态相互作用-I(GROMACS)
热门文章
- 2022年字节跳动JAVA面试,JVM调优和调优,附面试题答案
- 谷歌浏览器打开标签会把之前的覆盖掉_Chrome浏览器切换到之前打开的标签页会重新加载...
- for循环占用的指令周期问题
- 发现微型计算机染有病毒后,??发现微型计算机染有病毒后,较为彻底的清除方法是(?? )...
- Matplotlib二维箭头图
- sqlplus常用命令
- python中rest是什么意思_Python REST消耗
- B站怎么就成为了教育类的视频网站了
- 二叉树中序遍历(递归+非递归)Java
- 云计算的主要应用领域