Open nsy9601 opened 11 months ago
刚又观察了一次定时执行的任务,我在home()和sleep(1000)之间又加了一句日志输出,能正常输出,但sleep(1000)后的日志就不输出了,问题好像在sleep上,这时把autojs手动打开,脚本立即就回复执行了,但是看日志上的时间,明显在sleep(1000)时卡住了。
请检查一下sleep()的实现过程中,在执行定时任务的过程中(这时autojs为后台运行状态)是否有bug
感谢反馈, 我会根据提供的信息排查并尝试解决上述问题.
Sent from my XQ-DQ72 using FastHub
感谢反馈, 我会根据提供的信息排查并尝试解决上述问题.
Sent from my XQ-DQ72 using FastHub
今天发生的崩溃信息,请查看一下有没有用
Version: 2158 Android: 33 java.lang.IndexOutOfBoundsException: Index: 1, Size: 1 java.util.ArrayList.remove(ArrayList.java:503) com.bignerdranch.expandablerecyclerview.ExpandableRecyclerAdapter.notifyChildRemoved(ExpandableRecyclerAdapter.java:1195) org.autojs.autojs.ui.main.task.TaskListRecyclerView$1.lambda$onFinish$1(TaskListRecyclerView.java:79) org.autojs.autojs.ui.main.task.TaskListRecyclerView$1.$r8$lambda$zXmD6VC5c5jt97gBXTy2K8wBLu0(Unknown Source:0) org.autojs.autojs.ui.main.task.TaskListRecyclerView$1$$ExternalSyntheticLambda1.run(Unknown Source:4) android.os.Handler.handleCallback(Handler.java:942) android.os.Handler.dispatchMessage(Handler.java:99) android.os.Looper.loopOnce(Looper.java:210) android.os.Looper.loop(Looper.java:299) android.app.ActivityThread.main(ActivityThread.java:8123) java.lang.reflect.Method.invoke(Native Method) com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:559) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
感谢反馈, 我会根据提供的信息排查并尝试解决上述问题.
Sent from my XQ-DQ72 using FastHub
感谢反馈, 我会根据提供的信息排查并尝试解决上述问题.
Sent from my XQ-DQ72 using FastHub
17:33:11.102/E: Java 方法 java.lang.String.replace 匹配 JavaScript 参数类型 (function,string) 不具备唯一性; 候选方法: class java.lang.String replace(char,char) class java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence). (file:///android_asset/modules/util.js#1374) Java 方法 java.lang.String.replace 匹配 JavaScript 参数类型 (function,string) 不具备唯一性; 候选方法: class java.lang.String replace(char,char) class java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence). at file:///android_asset/modules/util.js:1374:0 at file:///android_asset/modules/util.js:1369:0 at file:///android_asset/modules/util.js:856:0 at file:///android_asset/modules/console.js:115:0 at captureAndOcr ($remote/main.js:166:0) at $remote/main.js:211:0
感谢反馈, 我会根据提供的信息排查并尝试解决上述问题.
Sent from my XQ-DQ72 using FastHub
可能和无障碍服务有关,之前我使用shizuku('pm grant org.autojs.autojs6 android.permission.WRITE_SECURE_SETTINGS')给app设置了无障碍权限,看似无障碍是始终打开的,但是有时就是获取不到,还是需要在应用里手动关闭一下无障碍再重新打开脚本才恢复正常。
感谢反馈, 我会根据提供的信息排查并尝试解决上述问题.
Sent from my XQ-DQ72 using FastHub
问题已确认是无障碍服务的问题,今天的定时任务脚本又出问题了,我看了一下无障碍服务是故障的,如图:
无法运行,此服务出现故障,可否修复,经常这样,定时任务就无法用了
注:己经把autojs6设为自启动,并把相应的电源管理设为无限制了
能否给脚本加一个可以手动控制开启和关闭无障碍模式的开关,这样就可以在脚本中先关才无障碍,再开启一下,防止长时间后台运行出现无障碍服务故障的情况。
之所以要增加开启和关闭无障碍的脚本语句,是因为出现服务故障时,使用auto.serivce检测服务仍是开启状态,且auto语句也无异常,所以需要手动给无障碍服务重启一下才行。帮需要在脚本中操作开关。
可否给回复一下,证明你看到了,否在我就再开一个主题说明此问题了。
感谢反馈, 我会根据提供的信息排查并尝试解决上述问题.
Sent from my XQ-DQ72 using FastHub
感谢反馈, 既然问题已确定, 我会针对性做出优化, 请关注后续版本更新.
Sent from my XQ-DQ72 using FastHub
能优先给脚本增加一条实现如autojs6本身菜单上开启和关闭无障碍服务的功能吗,只要脚本里可以实现这个功能,就能很大程度上解决上面的问题了
shizuku('pm grant org.autojs.autojs6 android.permission.WRITE_SECURE_SETTINGS')); shizuku('pm revoke org.autojs.autojs6 android.permission.WRITE_SECURE_SETTINGS')); 我使用上面的语句试过打开和关闭都不行,这只是授权,并不能真正开启无障碍服务
shizuku('settings put secure enabled_accessibility_services org.autojs.autojs6') 这个语句也不能开启,不知道还有什么方法能实现
已通过 shizuku('settings put secure enabled_accessibility_services null') //关闭无障碍 shizuku('settings put secure enabled_accessibility_services org.autojs.autojs6/org.autojs.autojs.core.accessibility.AccessibilityService') //开启无障碍 实现了无障碍的重启功能,但是必须要借助shizuku应用才行,期待下面的版本可以无需借助shizuku就可以实现无障碍的重启功能,这样就不需要时时保证shizuku应用在后台运行了(因为我的是定时任务)
参阅 #181.
感觉就像是autojs6在后台假死了一样,要手动打开autojs6应用脚本才可能继续运行,但好像有时候重新打开autojs6也不行,我通过脚本日志记录查看,每次假死现在大约都是出现在如home(),sleep(),滑动屏幕以及pickup()这类的语句上,如下面的代码:
console.log('开始运行XXX'); home(); sleep(1000); console.log('第一步XXX');
出现假现时查看运行日志,结果出现了'开始运行XXX',但下一条日志就没有输出,假死现象不仅仅是home()和sleep()这样的语句,根据我的日志记录来看,有时候也会假死在pickup()及滑动屏幕等语句上,不是固定的,找不到原因,脚本调试时也正常,比较头痛。