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小程序赚钱神奇相关推荐

  1. 简单的安卓app小程序代码_开发一款APP大概需要多少钱?

    伴随着近几年移动互联网的飞速发展和智能手机的普及,为了更好地进行品牌营销和线上交易,越来越多的企业想要开发属于本身的手机app,所有企业在开发APP之前最关心的题目就是"开发一款手机APP到 ...

  2. java计算机毕业设计基于安卓/微信小程序的大学生心理测试咨询管理系统app

    项目介绍 随着社会经济的发展,医疗卫生事业取得了巨大进步,在健康中心理健康占据越来越重要的地位,什么是心理健康:心理健康,从广义上讲,是指一种高效而满意的.持续的心理状态.从狭义上讲,心理健康是指人的 ...

  3. app小程序手机端Python爬虫实战12实现自动化退出考研帮app并清空缓存

    app小程序手机端Python爬虫实战11实现自动化退出考研帮app并清空缓存 一.捕获安卓吐司的消息 结束安卓的吐司操作: while True:if self.d.toast.get_messag ...

  4. 基于uniapp开发DiscuzQ社区的ios和安卓、小程序H5

    Discuz!Q生成多端小程序和APP. 基于DiscuzQ!3.0版本API,使用UNIAPP框架重构,暂时没有做登录互动和支付相关功能. 基于uniapp开发DiscuzQ社区的ios和安卓.小程 ...

  5. 基于cordova打包RPGMAKERMV 安卓app

    基于cordova打包RPGMAKERMV 安卓app 1.RPGMakerMV部分 部署出网页项目 2.node部分 https://nodejs.org/en/ 上下载node左边稳定版,右边是包 ...

  6. 5G需要什么APP小程序?哪里有免费制作5G小程序APP和网站

    5G已经到来,每一个关注前沿领域的人都在关心5G的时代红利是否能为我们所用. 5G会给我们带来什么信息变革和社会变革? 在5G时代,信息的通信能力提升十倍以上,信息延迟仅为约0.005秒,会催化对带宽 ...

  7. 基于线上的茶叶购买小程序(论文+程序设计源码+数据库文件)

    微信小程序在日常生活中应用越来越广,网上消费.游戏娱乐等成为了一种常见应用方式.为进一步了解和探索微信小程序在点餐系统中的潜在价值和意义,本文通过使用 Javascript 技术.Spring boo ...

  8. 基于腾讯云的艺术展小程序

    第一章 项目背景 1.1 项目简介和应用现状 基于腾讯云的艺术展小程序:打造集美术鉴赏.艺术科普.当代优秀艺术品交流多功能融艺术性.知识性.趣味性.便利性于一体的一站式平台,为广大艺术爱好者提供优质服 ...

  9. WoShop多商户直播短视频APP小程序商城全开源无加密商城源码

    WoShop多商户直播短视频APP小程序商城全开源无加密商城源码 基于现场直播+购物模式,用户可以"边看边买"现场直播商城平台,全终端支持,统一管理后台,传播更强,管理更方便,支持 ...

最新文章

  1. 苹果Swift语言中文教程资源汇总
  2. 平面设计现在行业发展如何?
  3. fiddler自动响应AutoResponder之正则匹配Rule Editor
  4. neo4j查询多跳关系的方法
  5. 最具体的历史centos下一个 postfix + extmail + dovecot + maildrop 安装注意事项2014更新...
  6. java nio的演进_Java接口的防御性API演进
  7. commonJS — DOM操作(for DOM)
  8. 2021年,彩票店还开的下去吗?
  9. WPF学习笔记5: Xaml之Markup Extensions
  10. Java中遍历Set集合的三种方法
  11. Netty框架中的@Skip使用说明
  12. ubuntu下vscode编写cgo程序
  13. 数据库面试题---原理
  14. linux系统防火墙白名单,linux系统防火墙如何结束白名单
  15. java 异或_Java异或详解
  16. 输入输出管理:假脱机技术(SPOOLING)
  17. 浅谈升级到 MacBook Air M1的体验
  18. 基于javaweb的水果店商城超市系统(java+ssm+jsp+ajax+jquery+mysql)
  19. 【GIS开发】VB6.0下MO控件的安装:安装教程及MO破解教程(MapObjects2.x)
  20. CADD课程学习(13)-- 研究蛋白小分子动态相互作用-I(GROMACS)

热门文章

  1. 2022年字节跳动JAVA面试,JVM调优和调优,附面试题答案
  2. 谷歌浏览器打开标签会把之前的覆盖掉_Chrome浏览器切换到之前打开的标签页会重新加载...
  3. for循环占用的指令周期问题
  4. 发现微型计算机染有病毒后,??发现微型计算机染有病毒后,较为彻底的清除方法是(?? )...
  5. Matplotlib二维箭头图
  6. sqlplus常用命令
  7. python中rest是什么意思_Python REST消耗
  8. B站怎么就成为了教育类的视频网站了
  9. 二叉树中序遍历(递归+非递归)Java
  10. 云计算的主要应用领域