源代码获取地址:https://pan.baidu.com/s/1_M7G7DexR-QcFmiHmth1qg 提取码:04ui
AutoJs技术一直是自动阅读和自动化测试AndroidApp的理想工具,鄙人在这个领域奋斗了300多个日夜有点小见解,也写了一点应用应可以参见我之前的代码和博客。本次给大家分享结束Autojs的核心框架也是我用这个框架一直在编写薅羊毛专业版app。功能和函数我都封装好了大家直接使用就可以了
我将多余的代码去掉形成了精简版,大家可以直接拿去运行修改。
对代码做了整体规划也采用了中文名称。这样对对于阅读和修改都是非常便利的。看下截图:
代码少了1万多行。请放心核心得都在
AutoJs4App核心架构用到技术颇多。因为打包成Apk肯定有和用户交互的地方那也就意味着有UI界面。列举一下技术有需要技术的也可以查看本文档来复制代码。
先不吹牛技术了,咱们直接看薅羊毛个人版APP的截图。如下:
这个是写的JS脚本在AutoJs里面的效果。咱们看一看薅羊毛UI版的截图。
薅羊毛首页,Splash页面。可以做很多东西……
薅羊毛配置页面
前2项我就不多说了,友情提醒先开启无障碍在开启悬浮否则App会挂掉。
薅羊毛专业版系统页面:
接下来我把整个App比较难写的地方写贴出来给大家提个醒,可能你们认为不是问题。献丑了不要见笑。之后我会将所有代码求全部贴出。
部局的时候出现了点问题,一直找不到合理的部局且很难看(现在也不怎么好看)。后来在AutoJs中示例看到了复杂部局就学了一下,效果还可以吧。
代码如下:
区域判断并点击坐标:
/** * 判断区域是否存在存在则进行点击 * 不存在则返回Flase存在则点击点击成返回True失败False * @param {rect区域} areaBounds */ function clickAreaForBounds(areaBounds) { if (areaBounds.exists()) { toastInfo(areaBounds+"exists") return clickControlBounds(areaBounds) } else { return false } }
双击屏幕加关注:
/** * 双击屏幕(很多视频其实就是点赞) */ function doubleClick() { //增加个随机概念 最多敲击三次 click(200, 200) sleep(100) click(202, 210) }
/** * 获取手机安装app的集合 */ function getAppList() { var pm = context.getPackageManager() var appList = pm.getInstalledApplications(0) var appInfoList = [] for (let i = 0; i < appList.size(); i++) { var app = appList.get(i) var appInfo = { appName: app.loadLabel(pm), packageName: app.packageName, isSystemApp: app.isSystemApp() } if (!app.isSystemApp()) { appInfoList.push(appInfo) } } return appInfoList }
保存配置采用的是storage,这个是不安全的只要知道名称就可以访问,敏感数据不建议使用它。保存配置代码:
源代码获取地址:https://pan.baidu.com/s/1_M7G7DexR-QcFmiHmth1qg 提取码:04ui