GithubHelp home page GithubHelp logo

blackcd318 / autojs4 Goto Github PK

View Code? Open in Web Editor NEW
60.0 1.0 32.0 657.59 MB

autojs4.1.1alpha2改了几个bug,加了几个添加任务的函数,仿照pro版的,不过只是基础的功能,然后在

autojs4's Introduction

国内上github速度不敢保证,偶尔只剩下readme那是暂时上传不了,可以等等再看.
以下是原作者的github地址(https://github.com/hyb1996/NoRootScriptDroid)
因为原作者已经不维护免费版,我没事的时候还会去搞搞,所以替换掉了原作者的这个信息,希望觉得我修改的还行的用户在你决定软件有bug时可以到我的github来下载最新修改的版本,如果这个文件里没有列出你遇到的问题,你可以在Issues给我留言,有时间的话我可以尝试修改掉bug.


autojs4.1.1alpha2改了几个bug,加了几个添加任务的函数,仿照pro版的,不过只是基础的功能,凑合能用(armeabi是用在arm cpu的app, x86是用在intel cpu的,7z是源码压缩了,因为windows的git做的太啰嗦,不想装)
1.有些界面使用id()不能得到控件
2.开机后不手动启动app而使得device.height和device.width返回值为0的不正确
3.添加了timers.addDisposableTask, timers.addDailyTask, timers.addWeeklyTask, timers.addIntentTask几个函数使脚本可以添加定时任务。使用方法参照pro版本(例子我放进去了),只有基础功能
4.删掉了社区和市场(只是简单的不显示,初始化没改,代码挺复杂的,不想折腾)
5.版本号 + 1
6.安卓原始输出RECT会把左上和右下两个坐标中间的‘,’换成‘-’,我总怀疑那是个负号,看着很不习惯,替换成','了
7.在添加一次性定时任务时,选择日期时会比实际月份早一个月,修改了(因为12月不能选,1月时直接程序崩溃退出了,不能忍)
8.2022-02-05 修正boundInside有些时候会判断出错(rect为右上左下形式,右上在范围内,左下x<0,y在范围内)
9.2022-02-17 总感觉运行时间长了有内存泄漏,因为有时候手机慢了清理运行程序,关掉autojs可以增加500多M的内存,而一开始运行autojs只占用不到150M的内存,这次改了一个地方,猜测可能是这里出问题了,到今天使用了4天了吧,没什么坏感觉,至于内存泄漏,因为最近不怎么刷视频,autojs用的也少了,下前面版本的可以下一下这个,比前面好不好不知道,至少是不差的。
10.2022-02-28 sleep在我的红米手机屏幕关闭后运行有问题,时间会延长很多,大概2倍多3倍左右的样子,猜测是因为屏幕关闭后系统进入节能模式,cpu时钟降低造成的,看代码thread的sleep是调用系统的,所以可能是系统底层的问题,彻底修改是不可能了,我在autojs的sleep里加了几个循环,把一个长的时间分成了很多小的时间休眠,昨晚到今早试用,效果还不错,计算了一下,如果sleep(24*60*60*1000),会分成大概60来个sleep吧(多数会发生在时间快到的一分钟里),感觉对系统性能不会造成大的影响
11.2022-03-15 原版的autojs里,在查找控件时是由root节点开始,一个个遍历后面的节点,找到符合条件的节点返回,我觉得因为这个才导致的运行时间很不稳定,有时候会延迟好几秒到好几十秒,于是修改了代码,我只试了几个,感觉比原版的因为条件设置可以少搜索一半以上,但是时间花费上似乎并不是很明显,不知道是这个手机速度快还是不是因为这个影响了速度,不过能少比较一些,总也不是坏事,就发布出来了.使用方法是在条件里加上bounds()、boundsContains()、boundsInside()过滤,感觉范围越小越接近目标大小越能减少搜索次数,可能contains更好,因为同样大小的控件,contains肯定比inside小对吧
12.2022-03-20 最近发现autojs的console.time() 和console.timeEnd()在关屏后计时会很不准,查找问题才知道原来是原作者使用的函数android.os.SystemClock.uptimeMillis是从开机到现在的毫秒数(手机睡眠的时间不包括在内),所以我改成了java.lang.System.currentTimeMillis,按照函数说明应该是没有原来的问题,具体没试验,若有问题,在后面会休正.
13.2022-03-26 10的修改失败了,当系统休眠以后,sleep时间无论如何都会大幅度地增加,而且还没什么规律.好在任务的定时运行是可以到毫秒级别,只是原作者在设计程序是用的TimePicker控件只能选到分钟,我查了这控件确实是不能到分钟以下的单位,再修改就要重载系统的控件,应该会加大程序的大小,所以找了个折衷的办法,在(3)的基础上修改了函数,可以在设置task.time时设置到秒,例如每天晚上7点30分45秒运行脚本xx,可以这样写
timers.addDailyTask({
  time: "21:30:45",
  path: "xx"
});
管理下定时任务列表里时间也设置的能显示秒了
另外,此版本还修改了(11)的算法,在前面判断会有问题,不能如愿,感觉这个好了,下载过的人可以试试这个
14.2022-04-09 (13)不是只能脚本设置定时任务到秒吗,这个版本可以手动设置了.另外把自己的github页面也加进了里面,走了一圈,留个名也不是很坏的事
15.2022-05-19 前两天才发现一次性任务只是显示到秒,一设置秒就成00了,今天休正了
16.2022-06-03 运行带建立自动任务的脚本几遍就会出几个任务,没有删除任务会很乱,添加了几个函数
              queryTimedTasks, 返回时间任务数组,参数为id, time, scheduled, delay, interval, loop_times, millis, script_path中的0-n个
              queryIntentTasks, 返回事件任务数组,参数为id, script_path, action, category, data_type, local中的0-n个
              这两个函数我尽量做的兼容后面pro版的同名函数
              removeTimedTask,  删除时间任务,参数同queryTimedTasks
              removeIntentTask. 删除事件任务, 参数同queryIntentTasks
              这两个本来想兼容pro版同名函数的,后来发现还要新增几个函数,关键的原因是这俩函数不能直接使用,还要先得到任务id才能删除,觉得不方便,就改成了这样的参数,可以直接删任务
       下面拿timedtask举个例子,intenttask仿照就行
       timers.queryTimedTasks({
         id:1,
         path:'/storage/emulated/0/脚本/hd.js'
       }).forEach(v => {log(v)});
       log("-------------------");
       timers.queryTimedTasks().forEach(v => {log(v)});
       log("-------------------");
       timers.removeTimedTask({
         path: '/storage/emulated/0/脚本/hd11.js'
       });
       这里的path等价script_path, pro版里这样, 我做了下兼容, remove的两个函数参数不能为空,会抛出异常,总不能一个失误没写参数把所有任务都删了吧
17.2022-09-03 原版411偶尔会退出程序,不知道什么原因,换用debug版后会报有资源没回收,但是又没有退出程序,查找问题,更改了TemplateMatching.java里面的几行,试验了快两个星期了吧,没再报错,也不知道改的这处与程序退出有没有关系,总之小小升级一下.
18.2022-09-14 411在使用engines.execScriptFile时,如果只使用第一个参数,平时没什么问题,但是如果运行的脚本不在默认目录(例如原始的/sdcard/脚本),而是在脚本下面的目录a里(engines.execScriptFile("/sdcard/脚本/a/tst.js"),不巧的如果脚本里使用了require,而且它的参数是相对路径,我的是这样的,require("../myfun.js"),脚本运行时出错了(大概意思是没有myfun.js这个文件,我没细看),但是在autojs程序里直接点击该脚本运行又不报错.觉得这是个bug,于是就改了一点__engines__.js的fillConfig函数,上面调用它的三个地方也修改了一下.
19.2022-11-04 添加了UiObject.clickCenter()函数(仿照pro版做的,我自己对安卓程序不熟悉),作用相当于click(UiObject.bounds().centerX(), UiObject.bounds().centerY()),用法跟UiObject.click()一样.
20.2023-02-13 今天软件异常退出再登陆突然弹出一个窗口,说"当然版本为公测版,显现和潜在的问题很多,不再适合继续使用",然后下面的两个按钮一个是更新,一个退出,就是说不更新就不能用,好在原来定时的任务都能执行,中午赶紧把这部分去掉了,毕竟新的pro版上很多app都不限制了.
21.2023-02-15 使用打包插件会提示没安装插件,我因为不用这功能,一直也不知道,感谢huayangnw的提醒,我看了下代码,可能是两个程序的签名不一样的问题,我把签名验证部分跳过去了,也不知道行不行,不行的话请把提示信息一并发给我.(另>上传了个打包插件,我没源码,这个是在网上下到的,怕以后用的时候找不到才上传,图省事的可以下载)
22.2023-03-25 这次修改了两个地方,(1)把能找到的连接网络的地方都禁止了,因为上次的修改后觉得重启的次数少了,所以想重启是不是跟软件连接网络请求一些数据有关系.---没有太细的测试是不是完全不连接网络 (2)对搜到的控件使用log toast toastLog函数打印信息里面增加了 indexInParent,觉得这个在使用控件的parent, child来找到指定控件时比较有用
23.2023-04-16 添加了一个函数,releaseScreenCapturer(),这个函数很多时候不需要调用,但是在两个脚本都运行了requestScreenCapture,得到了截屏权限,不知道为什么,先运行的会无法销毁申请到的内存,造成内存泄漏(验证的代码我写在了帮助文档里),找遍了那一片的代码,也没有找出问题出在哪,似乎逻辑都对,但还是会出问题,猜测会不会是安卓系统的限制???实在解决不了这问题,找了这个折衷的办法,但是如果两个脚本交替申请截屏,这个函数就没用了,这个函数只是在另一个脚本申请截屏权限前先把申请到的内存释放,不能做到他们交替的截屏.
24.2023-04-26 这次下载安装前记得备份好上一次的安装包,现在我还在测试,不知道会不会有问题.
              这次还是补23的问题,我猜测问题是在安卓不能同时申请两个虚拟屏,所以我希望修改是实现在所有脚本里使用一个虚拟屏,然后顺便休正了以前一直存在的问题(在一个脚本里使用两次requireScreenCapture()函数,我的机子上脚本就会卡住,原来还能避免一个脚本里运行两次来避免问题,这次因为要在所有脚本里都使用一个虚拟屏,这问题就避不开了).另外,在编译时看到as报了几个函数废弃的警告,因为要解决,把glide从4.8.0提到了4.9.0.
              我试了两天,还没什么问题,不过在修改中间我曾经遇到过在退出后又打开app时设置的一个软件启动时运行的脚本没正常运行完,卡在了那里,这次倒是没有,不过我因为想看看能几天这软件不自动退出,就没有刻意的去试验,有谁还能遇见这问题记得留言.在之前把你备份的上一个app安装了
25.2023-07-24 这次修改是因为我在一个脚本截图搜索时总是会莫名其妙的退出,其实发现这问题很长时间了,只不过换成debug版本后就基本不出问题了,release下又不会出提示,所以一直就放着了,这次是实在有点忍受不了了,就从js函数一步步的看了上去,修改了一个地方,我自己测试了一下,原来截图搜索4600+次时autojs就会退出,这次我试到了17000+还没退出,改好没是不知道,不过起码是比原来好些了.
26.2023-07-31 首先,25的修改似乎失败了,我手机的autojs前两天又自己退出了,问题在哪还在寻找ing.... 先说说这次更新的始:我用的busybox来提供ftp服务,然后这玩意太简单了,阉割了不少功能,他虽然提供了ftp服务,但是只是最简单的功能,不能设置字符集,于是,电脑上反问手机时中文文件名就是乱码,偏偏autojs中文时默认默认的文件夹名是"脚本",于是,乱码....这次的修改就是把默认文件夹改成了/Scripts/,然后顺便的吧autojs做了下多国语言,把默认的语言改成了英语(这个默认是在autojs没有手机系统的语言时采用的语言,虽然autojs国人用的多,不排除将来老外也会用用,英文毕竟用的还是最广的),先道个歉,我英语不怎么样,好多是bing翻译的目标语言,还有不少词不知道用在什么地方,所以翻译的是直译,很可能在环境里看是莫名奇妙.
              然后还改了个地方,原来在脚本设置定时任务时没注意,原来直接time:"xx:xx:xx"是有问题的,这次改了,虽然用的人很少

ps:
2022-01-25前面的版本在安卓11(我现在手机是这个版本,再前面是不是这样我没试验)上把大的js脚本缩小会导致文件后面的内容删不掉(这不是原生的bug,是我去掉原作在修改脚本后备份文件时产生的),这个改了,因为没维护版本号,下新的就行,后面的比前面的bug会有修改

autojs4's People

Contributors

blackcd318 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

autojs4's Issues

可以传一下对应的打包插件吗

安装了Autojs4.1.1-alpha3-common-armeabi-v7a-release,可以正常使用和调试,不会再收到 “版本需要更新”的强制提示了, 但是没有对应的打包插件, 我有Autojs4.1.1-alpha2对应的打包插件,但安装上之后Autojs4.1.1-alpha3还是提示要下载打包插件

哪里下载?

能发一个最新的吗?miui13用原版4.1.1的定时任务经常延迟,想体验一下Autojs4.1.1-alpha3。
已解决。找到了。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.