Giter VIP home page Giter VIP logo

autojs6's Introduction

autojs6-banner_800×224

Android 平台支持无障碍服务的 JavaScript 自动化工具

GitHub release (latest by date) GitHub closed issues Created
Rhino Android Studio
CodeFactor Grade GitHub Code Size GitHub License


简介


Auto.js 是一款 Android 平台支持 无障碍服务 的 JavaScript 自动化工具软件.

Auto.js 由 hyb19962017/01/27 初次发布, 于 2020/03/13 停止维护, 最终版本名称为 4.1.1 Alpha2, 构建版本号为 461.

AutoJs6 在 Auto.js 最终项目的基础上, 于 2021/12/01 进行二次开发, 继续保持开源免费.

基于 Auto.js 二次开发的开源项目 (以开发时间排序, 仅部分列举):

项目名称 应用名称 开发者 开发时间
Auto.js Auto.js M TonyJiangWJ 2019/11/21
AutoX Autox.js / Autox.js v6 kkevsekk1 2020/07/24
AutoJs6 AutoJs6 SuperMonster003 2021/12/01

功能


  • 可用作 JavaScript IDE (代码补全/变量重命名/代码格式化)
  • 支持基于 无障碍服务 的自动化操作
  • 支持浮动按钮快捷操作 (脚本录制及运行/查看包名及活动/布局分析)
  • 支持选择器 API 并提供控件遍历/获取信息/控件操作 (类似 UiAutomator)
  • 支持布局界面分析 (类似 Android Studio 的 LayoutInspector)
  • 支持录制功能及录制回放
  • 支持屏幕截图/保存截图/图片找色/图片匹配
  • 支持 E4X (ECMAScript for XML) 编写界面
  • 支持将脚本文件或项目打包为 APK 文件
  • 支持利用 Root 权限扩展功能 (屏幕点击/滑动/录制/Shell)
  • 支持作为 Tasker 插件使用
  • 支持与 VSCode 连接并进行桌面开发 (需要 AutoJs6-VSCode-Extension 插件)

环境


  • Android 操作系统
  • API 24 (7.0) [N] 及以上

指南



主要变更


  • VSCode 插件支持客户端 (LAN) 及服务端 (LAN/ADB) 连接方式

  • 多语言适配 (西/法/俄/阿/日/韩/英/简中/繁中等)

  • 夜间模式适配 (设置页面/文档页面/布局分析页面/浮动窗口等)

  • Rhino 引擎由 v1.7.7.2 升级至 v1.7.15-SNAPSHOT


版本历史


v6.5.0

2023/12/02
  • 新增 opencc 模块 (参阅 项目文档 > 中文转换) (Ref to LZX284)
  • 新增 UiSelector 增加 plusappend 方法 issue #115
  • 新增 打包应用页面增加 ABI 及库的筛选支持 (Ref to AutoX) issue #189
  • 修复 打包应用文件体积异常庞大的问题 (Ref to AutoX / LZX284) issue #176
  • 修复 打包应用无法显示并打印部分异常消息的问题
  • 修复 打包应用页面选择应用图标后可能显示空图标的问题
  • 修复 打包应用包含 MLKit Google OCR 库时可能出现的上下文未初始化异常
  • 修复 ocr.mlkit/ocr.recognizeText/detect 方法无效的问题
  • 修复 部分文本 (如日志页面) 显示语言与应用设置语言可能不相符的问题
  • 修复 部分语言在主页抽屉开关项可能出现文本溢出的问题
  • 修复 部分设备无障碍服务开启后立即自动关闭且无任何提示消息的问题 issue #181
  • 修复 部分设备无障碍服务开启后设备物理按键可能导致应用崩溃的问题 (试修) issue #183 issue #186
  • 修复 使用 auto(true) 重启无障碍服务后 pickup 功能异常的问题 (试修) issue #184
  • 修复 floaty 模块创建浮动窗口拖动时可能导致应用崩溃的问题 (试修)
  • 修复 app.startActivity 无法使用简称参数的问题 issue #182 issue #188
  • 修复 importClass 导入的类名与全局变量冲突时代码抛出异常的问题 issue #185
  • 修复 Android 7.x 无法使用无障碍服务的问题
  • 修复 Android 14+ 可能无法正常使用 runtime.loadJar/loadDex 方法的问题 (试修)
  • 修复 安卓系统快速设置面板中 "布局范围分析" 和 "布局层次分析" 不可用的问题 issue #193
  • 修复 自动检查更新功能可能导致应用 ANR 的问题 (试修) issue #186
  • 修复 文件管理器示例代码文件夹点击 "向上" 按钮后无法回到工作路径页面的问题 issue #129
  • 修复 代码编辑器使用替换功能时替换按钮无法显示的问题
  • 修复 代码编辑器长按删除时可能导致应用崩溃的问题 (试修)
  • 修复 代码编辑器点击 fx 按钮无法显示模块函数快捷面板的问题
  • 修复 代码编辑器模块函数快捷面板按钮函数名称可能溢出的问题
  • 优化 代码编辑器模块函数快捷面板适配夜间模式
  • 优化 打包应用启动页面适配夜间模式并调整应用图标布局
  • 优化 打包应用页面支持使用软键盘 ENTER 键实现光标跳转
  • 优化 打包应用页面支持点击 ABI 标题及库标题切换全选状态
  • 优化 打包应用页面默认 ABI 智能选择并增加不可选择项的引导提示
  • 优化 文件管理器根据文件及文件夹的类型及特征调整菜单项的显示情况
  • 优化 文件管理器文件夹右键菜单增加打包应用选项
  • 优化 无障碍服务启用但功能异常时在 AutoJs6 主页抽屉开关处将体现异常状态
  • 优化 部分依赖或本地库版本调整 CHANGELOG.md

v6.4.2

2023/11/15
  • 新增 dialogs.build() 选项参数属性 inputSingleLine
  • 新增 console.setTouchable 方法 issue #122
  • 修复 ocr 模块部分方法无法识别区域参数的问题 issue #162 issue #175
  • 修复 Android 7.x 发现新版本时无法获取版本详情的问题
  • 修复 Android 14 申请截图权限时导致应用崩溃的问题
  • 修复 主页抽屉快速切换 "浮动按钮" 开关时可能导致应用崩溃的问题
  • 修复 使用菜单关闭浮动按钮时重启应用后浮动按钮可能依然显示的问题
  • 修复 安卓 13 及以上系统设置页面选择并切换 AutoJs6 语言后无法生效的问题
  • 修复 构建工具初次构建时无法自动完成 OpenCV 资源部署的问题
  • 优化 原生化 bridges 模块以提升脚本执行效率 (Ref to aiselp)
  • 优化 重构无障碍服务相关代码以增强无障碍服务的功能稳定性 (实验性) issue #167
  • 优化 UiObject 和 UiObjectCollection 的打印输出格式
  • 优化 构建工具在构建环境 Gradle JDK 版本不满足要求时作出升级提示
  • 优化 部分依赖或本地库版本调整 CHANGELOG.md

v6.4.1

2023/11/02
  • 修复 构建工具无法自适应未知平台的问题 (by TonyJiangWJ) pr #158
  • 修复 脚本退出时可能导致应用崩溃的问题 issue #159
  • 修复 http 模块获取响应对象的 body.contentType 返回值类型错误 issue #142
  • 修复 device.width 及 device.height 返回数据不正确的问题 issue #160
  • 修复 代码编辑器长按删除时可能导致应用崩溃的问题 (试修) issue #156
  • 修复 代码编辑器反向选择文本后进行常规操作可能导致应用崩溃的问题
  • 修复 部分设备长按 AutoJs6 应用图标无法显示快捷方式菜单的问题
  • 修复 部分设备打包项目时点击确认按钮无响应的问题
  • 修复 app.sendBroadcast 及 app.startActivity 无法使用简称参数的问题
  • 修复 floaty 模块 JsWindow#setPosition 等方法首次调用时的功能异常
  • 优化 增加 Termux 相关权限以支持 Intent 调用 Termux 执行 ADB 命令 issue #136
  • 优化 http 模块获取的响应对象可重复使用 body.string() 及 body.bytes() 方法
  • 优化 增加 GitHub Actions 自动打包支持 (by TonyJiangWJ) pr #158
  • 优化 构建工具自适应 Temurin 平台
  • 优化 部分依赖或本地库版本调整 CHANGELOG.md
更多版本历史可参阅

项目编译构建


如需对 AutoJs6 开源项目进行调试或开发, 可使用 Android Studio 或 IntelliJ IDEA (Jetbrains 公司产品).

本小节以 Android Studio 为例介绍 AutoJs6 开源项目的编译构建方法, IntelliJ IDEA 与之类似.

Android Studio 准备

下载 Android Studio Hedgehog | 2023.1.1 版本 (按需选择其一):

注: 上述版本发布时间为 2023 年 11 月 30 日. 如需下载其他版本, 或上述链接已失效, 可访问 Android Studio 发行版本归档 页面.

安装或解压上述文件, 运行 Android Studio 软件 (如 "D:\android-studio\bin\studio64.exe").

Android SDK 准备

注: 如果计算机系统已安装 Android SDK (安卓软件开发工具包), 则可跳过此小节内容.

在 Android Studio 软件中使用快捷键 CTRL + ALT + S 打开设置页面:

Appearance & Behavior (外观与表现) -> 
System Settings (系统设置) -> 
Android SDK (安卓软件开发工具包)

Android SDK Location (安卓软件开发工具包位置) 处如果是空白内容, 可点击右侧 Edit (编辑) 按钮, 在弹出的窗口中多次点击 Next (下一步).

注: 过程中可能需要同意一个或多个相关协议才能继续.

待相关资源下载并安装完毕, 点击 Finish (完成) 按钮.
上述 Android SDK Location (安卓软件开发工具包位置) 处将自动完成路径填写, SDK 准备工作随即完成.

Android SDK Tools 准备

AutoJs6 需要使用部分 SDK 工具 (如 NDK 及 CMake).

注: 如果计算机系统已安装 AutoJs6 全部所需的 Android SDK Tools, 则可跳过此小节内容.

在 Android Studio 软件中使用快捷键 CTRL + ALT + S 打开设置页面:

Appearance & Behavior (外观与表现) -> 
System Settings (系统设置) -> 
Android SDK (安卓软件开发工具包) -> 
SDK Tools (SDK 工具) (位于右侧窗口)

勾选 Show Package Details (显示包详情), 依次点击 NDK 及 CMake, 确保相应版本的工具已勾选 (截至 2023 年 10 月 30 日, NDK 所需版本为 21.1.6352462, CMake 所需版本为 3.10.2).

SDK 工具的版本信息位于 AutoJs6 项目根目录的 version.properties 文件中.

JDK 准备

AutoJs6 项目依赖的 JDK (Java 开发工具包) 发行版本不低于 17, 但建议不低于 19.

需额外留意, 截至 2023 年 10 月 30 日, AutoJs6 暂不支持 JDK 最新版本 21.

注: 如果计算机系统已安装 JDK 且版本满足上述要求, 则可跳过此小节内容.

JDK 可使用 IDE 直接下载, 或访问 Oracle 网站 下载.

在 Android Studio 软件中使用快捷键 CTRL + ALT + S 打开设置页面:

Build, Execution, Deployment (构建, 执行, 开发) ->
Build Tools (构建工具) -> 
Gradle

Gradle JDK 处可选择或添加不同版本的 JDK.

如果列表中已存在合适版本的 JDK (>= 17), 则直接选择即可.
否则可以选择 Download JDK (下载 JDK) 下载合适的 JDK, 点击 Download (下载) 按钮并等待下载完成.
也可以选择 Add JDK (添加 JDK) 添加已存在的本地 JDK, 定位其目录并完成 JDK 添加.

AutoJs6 资源克隆

在 Android Studio 主页面点击 Get from VCS (从版本控制系统获取) 按钮.
URL (统一资源定位地址) 处填入 https://github.com/SuperMonster003/AutoJs6.git,
Directory (目录) 处可根据需要修改为特定路径.
点击 Clone (克隆) 按钮, 等待 AutoJs6 项目资源在设备本地完成克隆.

注: 上述过程可能需要安装 Git (分布式版本控制系统).

AutoJs6 项目构建

克隆完成后, Android Studio 将打开 AutoJs6 的项目窗口, 并自动完成初步的 Dependencies (依赖) 下载及 Gradle 构建工作.

注: 上述过程可能非常耗时. 若网络条件欠佳, 可能需要重试多次 (点击 Retry 按钮).

构建完成后, Android Studio 的 Build 标签页将出现类似 BUILD SUCCESSFUL in 1h 17m 34s 的消息.

打包项目并生成可安装到安卓设备的 APK 文件:

  • 调试版 (Debug Version)
    • Build (构建) -> Build Bundle(s) / APK(s) -> Build APK(s)
    • 生成带默认签名的调试版安装包
    • 路径示例: "D:\AutoJs6\app\build\outputs\apk\debug\"
  • 发布版 (Release Version)
    • Build (构建) -> Generate Signed Bundle / APK
    • 选择 APK 选项
    • 准备好签名文件 (新建或选取), 生成已签名的发布版安装包
    • 路径示例: "D:\AutoJs6\app\release\"

参阅: Android Docs


脚本开发辅助


开发 AutoJs6 可运行的脚本, 需使用合适的开发工具:

如需在 PC 上进行脚本编写与调试, VSCode 插件可以实现 PC 与手机的互联:

使用开发工具编写代码时, 代码智能补全功能可以更好地辅助开发者完成代码编写:

编写代码时, AutoJs6 相关 API 及使用方式, 可随时查阅应用文档:

现有的脚本开发项目可作为参考, 激发个人脚本项目的创作灵感:


贡献参与


感谢每一位参与 AutoJs6 项目开发的贡献人员.

贡献人员 提交数 最近提交
LZX284 (Ai) 17 2023/11/19
TonyJiangWJ 4 2023/10/31
little-alei (抠脚本人) 12 2023/07/12
aiselp 6 2023/06/14
LYS86 (LYS) 2 2023/06/03

数据更新于 2023/12/02.

数据条目按 最近提交 降序排序.

新发起的暂未处理的 Pull Request, 将在合并处理后加入数据统计.

部分贡献人员在 GitHub Contributors 未能正常出现, 其提交记录为空, 仍可通过 Pull Request 查看贡献记录.

autojs6's People

Contributors

carolsum avatar hyb1996 avatar little-alei avatar lulee007 avatar lys86 avatar lzx284 avatar peergine-admin avatar supermonster003 avatar tonyjiangwj avatar tubackup 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  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  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

autojs6's Issues

切换系统语言后 软件工作路径发生改变 导致脚本显示异常

  • 描述:
    软件初始安装系统语言为 "简体中文 (**)".
    软件工作路径默认为 "/脚本".

  • 复现:
    将系统语言切换为 "English (United States)".

  1. 未手动修改过工作路径 (复现)
    软件工作路径变为 "/Scripts".
    此时若修改回简体中文, 则工作路径自动修改为 "/脚本".
  2. 已修改过工作路径
    a. 与默认工作路径不同名 (未复现)
    切换系统语言后, 工作路径不自动改变.
    b. 与默认工作路径同名 (未复现)
    切换系统语言后, 工作路径不自动改变.
  • 其他:
  1. 很可能需要在软件初次安装后立即写入工作路径配置值到 Pref 中.
  2. 建议检查软件设置中其他与系统环境变量强相关的配置.
  3. 更改工作路径后, 需要退出应用才能生效, 建议在更改设置后实现自动刷新.
  • 环境:
    App: AutoJs6 v6.1.0 (886)
    System: Android 11 (R) [30]
    Device: Sony XQ-AT72
    ABIs (64 bit): [arm64-v8a]

请支持Tasker插件

Autojs一直是支持tasker的。
可是autojs6却好像不行了?
tasker选择插件,如图,
Screenshot_2023-03-21-22-35-11-283_net dinglisch android taskerm
并不能进去脚本选择界面, autojs是可以的。

软件内置的代码编辑器无法使用粘贴功能,复制了内容在编辑器内长按会报错

手机 红米note9 pro 系统 MIUI13.04

image

以下是复制的错误信息


Version: 886
Android: 31
android.content.res.Resources$NotFoundException: String resource ID #0x7f1001f2
android.content.res.Resources.getText(Resources.java:463)
android.content.res.MiuiResources.getText(MiuiResources.java:106)
android.content.res.Resources.getString(Resources.java:556)
miuix.toolbar.internal.menu.MenuBuilder.add(MenuBuilder.java:453)
org.autojs.autojs.ui.edit.EditActivity.onActionModeStarted(EditActivity.java:161)
androidx.appcompat.view.WindowCallbackWrapper.onActionModeStarted(WindowCallbackWrapper.java:166)
com.android.internal.policy.DecorView.startActionMode(DecorView.java:1036)
com.android.internal.policy.DecorView.startActionModeForChild(DecorView.java:951)
android.view.ViewGroup.startActionModeForChild(ViewGroup.java:1042)
android.view.ViewGroup.startActionModeForChild(ViewGroup.java:1042)
android.view.ViewGroup.startActionModeForChild(ViewGroup.java:1042)
android.view.ViewGroup.startActionModeForChild(ViewGroup.java:1042)
android.view.ViewGroup.startActionModeForChild(ViewGroup.java:1042)
android.view.ViewGroup.startActionModeForChild(ViewGroup.java:1042)
android.view.ViewGroup.startActionModeForChild(ViewGroup.java:1042)
android.view.ViewGroup.startActionModeForChild(ViewGroup.java:1042)
android.view.ViewGroup.startActionModeForChild(ViewGroup.java:1042)
android.view.View.startActionMode(View.java:7949)
android.widget.Editor.startInsertionActionMode(Editor.java:2363)
android.widget.TextView.onTouchEvent(TextView.java:11195)
org.autojs.autojs.ui.edit.editor.CodeEditText.onTouchEvent(CodeEditText.java:507)
android.view.View.dispatchTouchEvent(View.java:14857)
android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3131)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2812)
android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3131)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2812)
android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3131)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2812)
android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3131)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2812)
android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3131)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2812)
android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3131)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2812)
android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3131)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2812)
android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3131)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2812)
android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3131)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2812)
android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3131)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2812)
com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:570)
com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1895)
android.app.Activity.dispatchTouchEvent(Activity.java:4320)
androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69)
com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:528)
android.view.View.dispatchPointerEvent(View.java:15132)
com.xiaomi.mirror.MiuiMirrorImpl.dispatchPointerEvent(MiuiMirrorImpl.java:40)
android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:6683)
android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:6473)
android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5914)
android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5971)
android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5937)
android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:6102)
android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5945)
android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:6159)
android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5918)
android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5971)
android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5937)
android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5945)
android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5918)
android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:8946)
android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:8897)
android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:8865)
android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:9079)
android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:281)
android.os.MessageQueue.nativePollOnce(Native Method)
android.os.MessageQueue.next(MessageQueue.java:340)
android.os.Looper.loopOnce(Looper.java:168)
android.os.Looper.loop(Looper.java:299)
android.app.ActivityThread.main(ActivityThread.java:8292)
java.lang.reflect.Method.invoke(Native Method)
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:556)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1045)

indexInParent() 在父控件始终返回 -1 (Edited)

比如输出 log(text("首页").findOne().indexInParen()) 能正常显示,如果“首页”上还有父控件,要输出父控件的indexInParent(),就会出错,总是返回-1,即 log(text("首页").findOne().parent().indexInParen()),显示-1,。这个错误在autoXjs上一样存在,但这Pro版本中,能正常返回值,看来pro版已经修复了这个问题,希望autojs6能尽快修复,谢谢!

Auto.js-ApkBuilder这个库没权限了啊

  > Could not resolve com.github.hyb1996:Auto.js-ApkBuilder:1.0.3.
     > Could not get resource 'https://jitpack.io/com/github/hyb1996/Auto.js-ApkBuilder/1.0.3/Auto.js-ApkBuilder-1.0.3.pom'.
        > Could not GET 'https://jitpack.io/com/github/hyb1996/Auto.js-ApkBuilder/1.0.3/Auto.js-ApkBuilder-1.0.3.pom'. Received status code 401 from server: Unauthorized

AutoJs6 每天都会崩溃1-2次

AutoJs6 每天都会崩溃1-2次

错误信息:
AutoJs6:
错误: Wrapped com.stardust.autojs.runtime.exception.ScriptException: 无障碍服务已启用但并未正常运行(#23)

Screenshot_20220404-110252

安卓11不能正常节点工具

如图,点击节点分析后不能弹出‘显示空间信息’、‘在布局中查看’,‘生成代码’这些选项,无论点什么都不会弹出,在这种情况的时候按下2下开机键(息屏再开)后就会弹出,很奇怪,本来以为手机坏了,换了一台相同的手机,在安卓10的时候一切正常,升级安卓11后问题一样,手机是Pixel 2 XL安卓11
屏幕截图 2023-05-02 190306

AutoJs6经常崩溃

手机1加7Pro,Android11版本,更换到AutoJs6后经常崩溃,早上半个小时内崩溃了五六次。

Version: 749
Android: 30
com.afollestad.materialdialogs.MaterialDialog$DialogException: Bad window token, you cannot show a dialog before an Activity is created or after it's hidden.
com.afollestad.materialdialogs.MaterialDialog.show(MaterialDialog.java:466)
com.stardust.autojs.core.ui.dialog.JsDialog.$r8$lambda$rb4mrYIBONonlG5OgUsw_t4Magw(Unknown Source:0)
com.stardust.autojs.core.ui.dialog.JsDialog$$ExternalSyntheticLambda0.run(Unknown Source:2)
android.os.Handler.handleCallback(Handler.java:938)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:233)
android.app.ActivityThread.main(ActivityThread.java:8010)
java.lang.reflect.Method.invoke(Native Method)
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:631)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:978)

编译环境问题

image

你好,项目的配置环境方便写个小文档吗,搞了一天没搞定,哭晕!

toast 在其余界面无效

代码:
sleep(3000); toast("good");
手机 mate 20 pro 鸿蒙os 3
运行后,在autojs 软件界面,有提示。
在其余界面,如 桌面,**银行 等,没有显示。
换用 toastLog 同样不行。
重启手机也不行。

请问是否还需要增加别的代码?

熄屏时定时任务不启动

手机:mate20 pro。鸿蒙3系统。
在熄屏状态下,使用软件自带的定时任务,不能自动唤醒屏幕,进行任务。
同样在熄屏状态下,使用 sleep,可以唤醒屏幕,进行任务。

boundsInside(0, 0, -1, -1)筛选无效

在使用boundsInside(0, 0, -1, -1)筛选屏幕内的控件是 (93,247 - 1023,-1127) 这种bottom为负数的控件无法排除
使用boundsInside(0, 0, device.width , device.height) 也是一样

PaddleOCR支持

要不要来个PaddleOCR的支持,我最近搞的已经可以支持PaddleOCR V3了 可以的话我周末提一个PR到你的项目

canvas绘制线段时,颜色无法正常已设置的色值展示,显示的白色;代码如下

var paintLine = new android.graphics.Paint();
paintLine.setAntiAlias(true); //抗锯齿
paintLine.setAlpha(255); //0~255透明度
paintLine.setFakeBoldText(true);
paintLine.setStrokeWidth(2);
paintLine.setStyle(android.graphics.Paint.Style.STROKE);
paintLine.setColor(colors.parseColor("#FF963200"));

console.log("#FF963200的整数值为:", colors.parseColor("#FF963200"));
var color = paintLine.getColor();
console.log("线的颜色:", color);

控制输出的结果为:

14:55:04.596/D: #FF963200的整数值为: -6934016
14:55:04.597/D: 线的颜色: -1

无障碍服务已启用但未正常运行

你好,我关闭了该应用的自启动,因为我当心耗电的问题,同时该应用会频繁自启,我只需要在每天特定时间启动,然后收取能量。
可是一旦关闭自动启动,就会提示服务故障。
cb59513b6215487bd5bcaf750b93306
a01265b8e498f7a64695ea33b34b2de

在布局层次中查看的问题

如果太多层的话整个页面都让层次占满了,看不到后面的信息,完全没法用,是否可以取消前面的层次排序,只保留展开按钮,这样也是可以分析层次的。
在布局层次中查看

JavaScript 模块名覆盖声明时存在隐患

JavaScript 模块名被覆盖声明时,
将导致存在依赖关系的内部模块无法正常使用.

例如 console 模块依赖了 util 模块,
util 覆盖声明时将导致 console 无法使用:

console.log("hello"); // 正常
let util = null;
console.log("hello"); // 报错

v6.0.1版在Android 7模拟器中无法使用ui

v6.0.0没有出现下面的问题。

使用市面常见的最新版本的雷电、逍遥模拟器(都是Android 7.1),如运行Autojs6中 示例代码 - 本地存储 - 随手记,会出现错误:
/E: Wrapped android.view.InflateException: java.lang.IllegalArgumentException: Cannot add a null child view to a ViewGroup (file:///android_asset/modules/ui.js#18)
Wrapped android.view.InflateException: java.lang.IllegalArgumentException: Cannot add a null child view to a ViewGroup
at file:///android_asset/modules/ui.js:18:0
at /data/user/0/org.autojs.autojs/files/sample/本地存储/随手记.js:2:0

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.