当前位置:首页 » 硬盘大全 » autojs双缓存数据读取
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

autojs双缓存数据读取

发布时间: 2023-02-19 04:35:00

A. autojs类方法重载overload

牙叔教程 简单易懂


它是指我们可以定义一些名称相同的方法,通过定义不同的输入参数来区分这些方法,然后再调用时,VM就会根据不同的参数样式,来选择合适的方法执行。



类名: OverLoading

三个max方法

autojs代码

autojs运行日志

可以看到, 默认两个参数调用方法 max(double a, double b) ,

除非加上参数类型: overLoading["max(int,int)"]

我认为他是一个代理

运行日志

max方法, 没有调用任何OverLoading的max方法, 因为他没有打印参数类型,

我写的OverLoading类里面, 如果调用了max, 必定会打印参数类型


实例化类, 调用实例的方法


一个参数不行

四个参数不行

因为原始的类里面的参数是2个或者3个,

JavaAdapter要重写max方法, 也必须和原始类有同样的参数个数,

不能多, 也不能少



重载是不可能的, 这辈子都不可能重载,

参数又不支持类型,

就是 判断参数个数 这种东西, 才能维持的了生活这样子,

用了 prototype 感觉就像回家一样,

类方法个个都能用,操作又方便,我超喜欢酱紫!



手机: Mi 11 Pro
Android版本: 12
Autojs版本: 9.1.13


名人名言

部分内容来自网络 本教程仅用于学习, 禁止用于其他用途

B. Tasker 与 Autojs 之间如何传递数据

前些天接触 Autojs 应用后,发现它的模拟点击效果(尤其是点击速度)要比 AutoInput 与 TouchTask 出色许多,于是便开始研究更多的 Autojs 用法。在此期间,我遇到 Tasker 与 Autojs 互相通信(可传递数据)的需求,相信这也是同时使用 Tasker 与 Autojs 的玩家会共同遇到的。如果它们之间能够互相通信,那么我们就可以很轻易地实现那些需要它们协同完成的功能。稍有经验的玩家会很自然地想到利用剪贴板或读写文件的方法来实现 Tasker 与 Autojs 之间的通信,除此之外,使用发送广播这一高级方法也能达到互相通信的目的。 [1] Autojs 虽然可以通过读取剪贴板的内容获得由 Tasker 传递的数据,但该方法可靠性低,容易出错,不建议采用此法来传递数据。个人认为,通过读取文件内容获得传递的数据应该是一个既有效且可靠的方法,下面的内容是我具体的实现方式,供各位参考。 Tasker 也可以通过读取文件内容的方法获取 Autojs 传递的数据,只是这方法比起 Autojs 发送广播来说会稍显麻烦与复杂,因此接下来是介绍 Autojs 如何通过发送广播向 Tasker 传递数据。 个人以为,上面所提及的 Tasker 与 Autojs 的通信方法能很好地解决数据无法直接传递的问题,日后大家可尝试采取这些方法来实现需 Tasker 和 Autojs 协同完成的功能。最后,感谢众多酷安用户,我只是拾人牙慧,这文章的核心基本是来自您们所发表的评论(或回复)。

C. 在autojs踩的一些坑

1.申请截图权限与ui有冲突,不能直接放在ui里,申请截图权限只能申请一次,不能重复调用,不然第二次调用就会卡住,而且没有报错,个人建议可以创建一个线程单独放。 2.在ui中不能使用http请求网络的方法,会阻塞ui线程,可以创建一个线程,如果需要网络请求的信息输入ui中,可以使用threads.join()来等待执行完成,输出数据 3.方法还有变量的命名,有规律的命名方法可以方便的知道当前是函数还是变量,方便后期调试 4.注释,适当的注释可以在以后找问题是让你快速的明白这是个啥 5.学习autojs不需要英语很好,现在翻译那么多,有报错复制翻译一下,很多问题就能解决,网络也可以,很多问题已经被前辈踩了很多遍 6.如果没有js基础可以看看js的基础,最基础的循环.语法一定要会,js的对象要会,特别是字符串string和数组array,这里可以推荐一下菜鸟教程,我就是从这儿入的门

D. autojs读取dex文件

Android 程序一般使用 Java 语言开发,但是 Dalvik 虚拟机并不支持直接执行 JAVA 字节码,所以会对编译生成的 .class 文件进行翻译、重构、解释、压缩等处理,这个处理过程是由 dx 进行处理,处理完成后生成的产物会以 .dex 结尾,称为 Dex 文件。
Dex 文件格式是专为 Dalvik 设计的一种压缩格式。所以可以简单的理解为:Dex 文件是很多 .class 文件处理后的产物,最终可以在 Android 运行时环境执行。
Dex文件在auto.js脚本编写中的作用
加固脚本,防止反编译
能实现脚本热更新
能提高代码的运行速度
将JS转换为dex能在一定程度上保障源码安全,且具有更快的运行速度。
由于auto.js文档中,提供了runtime.loadDex(path)的方法,因此我们可以将js文件转换为dex文件进行调用,来提高打包后apk的安全性,避免被庖丁等某些快速反编译工具提取js源码。
本教程你将学到
js文件转换为dex的过程
auto.js调用dex内的函数
操作过程
js转dex的方法,在网络上能搜到的资料并不多。
最简单方法,你可以使用庖丁一键转换。美中不足的是,庖丁的转换过程,加密了js中的类名。这种设定,导致了每次转换,被调用的类名都会变化。并不利于热更新的实现。
另一方面,庖丁是一个闭源应用,用户无法确定该应用是否安全。
因此,飞云在这里就不介绍这种方法了。
我们来使用一种安全高效稳定的node.js脚手架,来转换dex文件。
该方法,操作比较简单。麻烦就麻烦在,初始化配置相对复杂,一些新手在配置的过程中,容易遇到各种问题,又没有系统的教程和异常问题处理方案,在最终解决问题的过程中,浪费许多时间和精力。
本教程是飞云在mac系统下编写的。如果你的电脑是windows系统,个别细节可能会有差异。例如,windows系统,没有mac的终端。安装脚手架是在命令行工具里进行的。

E. autojs双向通信

牙叔教程 简单易学

socketIO

SocketIO是在客户端和服务端之间建立的双向通信数据交换技术,在即时通讯、通知与消息推送,实时分析等场景中有较为广泛的应用。

8.7.7-0

通信是双向的, 所以既有客户端, 也有服务端

使用koa框架搭建, 使用的主要模块是 "socket.io": "^4.0.1"

socketIO模块依赖 implementation('io.socket:socket.io-client:2.0.0')

用android studio调试成功以后, 转成dex供给autojs使用

由于更新日志的方法类似, 都是更新textView的内容, 只是viewId不一样, 所以要方法复用

部分内容来自网络

F. autojs读取内部存储

autojs读取内部存储内容:
importostotal_folder_path='ccc_123456'
total_folder_list=os.listdir(total_folder_path)fortotal_folderintotal_folder_list:
new_total_folder_path=os.path.join(total_folder_path,total_folder)print(new_total_folder_path)
ccCAutoJS是一款新的手机脚本开发工具,开发语言是JS,开发门槛低,做过网站开发的都会写JS。系统目前只支持安卓7.1以上的版本,IOS不能使用。他的主要工作原理是使用无障碍服务,获取APP的控件信息,包括控件的:类名、包名、id、文本、描述等。

G. js如何获取缓存

1、创建一个cache.js文件,前端页面,定义那些数据需要一次性拿到前端缓存,定义一个对象来保存这些数据。