Auto.js icon indicating copy to clipboard operation
Auto.js copied to clipboard

Auto.js Pro 9.0 Roadmap (带Node.js / V8引擎版本)

Open clearw5 opened this issue 6 years ago • 42 comments

Auto.js Pro 9.0是Auto.js Pro的下一个大版本。其主要更新是支持Node.js和V8引擎,带来了庞大的npm生态,并仍然支持和Android/Java交互(也即可在Node.js中使用Android/Java API)。届时旧的rhino引擎仍然保留,并且旧代码仍然可以直接运行;新的代码建议基于Node.js引擎开发。

Auto.js Pro 9.0关于Node.js部分的路线图如下:

关键核心功能

  • 引入Node.js引擎和npm
  • V8引擎支持引入Java类,访问Java类字段和方法,实现Java接口、抽象类,线程切换
  • 核心模块API实现
  • 交互式终端,提供运行npm命令和npm -g的cli模块的环境
  • 兼容V8的legacy-apis开发
  • 内置编辑器优化,支持npm run、运行前编译等交互,基于LSP的智能补全
  • 远程调试和本地调试支持
  • 打包支持,支持加密与共享运行时

各部分功能

编辑中

引擎

目前已引入Node.js 16.14。

  • [x] 支持"nodejs"开头的代码自动用nodejs引擎
  • [x] 显示nodejs的错误和输出
  • [x] 提示nodejs的Unhandled Promise Rejection错误
  • [ ]

Java交互

  • [x] 支持导入Java类,作为构造函数、原型使用
  • [x] 支持构造Java对象,访问成员方法、字段、静态方法、字段
  • [x] 支持对象作为Java接口使用
  • [x] 支持继承Java类(包括抽象类)
  • [ ] 优化Java调用性能
  • [x] 支持Java调用切换线程和Java回调切换线程

终端

  • [x] 引入termux的Apache协议开源部分,实现终端
  • [x] 解决Android10以上无法运行npm -g的模块的问题
  • [x] 解决react等无法install的问题

编辑器与打包

  • [ ] 支持运行时自动运行某些编译脚本
  • [x] 支持打包时自动运行某些编译脚本
  • [x] 64位支持VSCode调试
  • [ ] 32位支持VSCode调试
  • [ ] 支持自带编辑器调试

API

  • [x] app
  • [x] console
  • [x] device
  • [x] dialogs
  • [x] engines
  • [x] events
  • [x] floaty
  • [ ] globals
  • [x] images
  • [x] colors
  • [x] keys
  • [x] media
  • [x] plugins
  • [x] power_manager
  • [x] accessibility
  • [x] sensor
  • [x] shell
  • [x] storage
  • [x] settings
  • [x] TimedTask
  • [ ] ui
  • [x] zip
  • [x] RootAutomator

未完待续。

Pluto.js V8是原计划推出的基于Node.js和V8引擎的脚本软件,现已被废弃,并被合入Auto.js Pro中。以下有的评论为原始Pluto.js的评论内容。

clearw5 avatar Sep 06 '19 05:09 clearw5

能不能添加一些对蓝牙的支持,现在穿戴设备都是通过蓝牙来实现交互

genspider avatar Nov 27 '19 00:11 genspider

是不是和Dorajs类似呀,哈哈🤣

Curtion avatar Dec 15 '19 14:12 Curtion

大佬 还在更新pluto嘛,一直在等

freekingg avatar Apr 10 '20 16:04 freekingg

希望大佬可以完善OPENCV剩余功能,方便小白使用OPENCV进行图像识别学习

cf183838 avatar Aug 04 '20 06:08 cf183838

希望大佬可以完善OPENCV剩余功能,方便小白使用OPENCV进行图像识别学习

OpenCV功能多得是,直接调用即可,不需要我再封装一下

clearw5 avatar Aug 04 '20 07:08 clearw5

大佬还在更新pluto嘛,一直在等

应该是的

cf183838 avatar Aug 04 '20 11:08 cf183838

希望大佬可以完善OPENCV剩余功能,方便小白使用OPENCV进行图像识别学习

OpenCV功能多得是,直接调用即可,不需要我再封装一下

好的,那请问是否是以image.xxx的形式调用OPENCV呢? 因为在您的API文档中有写cvtColor等OPENCV函数

cf183838 avatar Aug 04 '20 11:08 cf183838

向大佬膜拜(@^0^@)/

mao527147880 avatar Sep 10 '20 08:09 mao527147880

在哪里下载呢

freekingg avatar Dec 25 '20 05:12 freekingg

Pluto.js现已合并到Auto.js Pro。将在Auto.js Pro 8.6中发布。

clearw5 avatar Dec 25 '20 12:12 clearw5

Pluto.js现已合并到Auto.js Pro。将在Auto.js Pro 8.6中发布。

你好,请问这个Pluto.js库会开源吗?

不会

clearw5 avatar Dec 29 '20 11:12 clearw5

希望大佬可以完善OPENCV剩余功能,方便小白使用OPENCV进行图像识别学习

OpenCV功能多得是,直接调用即可,不需要我再封装一下

好的,那请问是否是以image.xxx的形式调用OPENCV呢? 因为在您的API文档中有写cvtColor等OPENCV函数

不是,可以看images模块的源码

clearw5 avatar Dec 29 '20 11:12 clearw5

记得撸码的时候多写方法注释, 看谷歌哪里有问题直接就把函数一跳转然后上面全是注释。。。 而且到时候也方便写api文档

taozhiyu avatar Jul 29 '21 14:07 taozhiyu

autojs pro v9无法安装,模拟器和真机APK都不行,谁能告诉我怎么安装。

fulans1 avatar Sep 13 '21 15:09 fulans1

autojs pro v9无法安装,模拟器和真机APK都不行,谁能告诉我怎么安装。

暂不支持

zzliux avatar Sep 15 '21 08:09 zzliux

感谢老哥。 本想pro 9 可以直接node.js以使用signalr ,现在看来只能暂时用websocket替代,等出v9再升级, 静候发布V9佳音。

------------------ 原始邮件 ------------------ 发件人: "hyb1996/Auto.js" @.>; 发送时间: 2021年9月15日(星期三) 下午4:45 @.>; @.@.>; 主题: Re: [hyb1996/Auto.js] Auto.js Pro 9.0 Roadmap (带Node.js / V8引擎版本) (#526)

autojs pro v9无法安装,模拟器和真机APK都不行,谁能告诉我怎么安装。

暂不支持

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.

fulans1 avatar Sep 15 '21 10:09 fulans1

autojs pro v9无法安装,模拟器和真机APK都不行,谁能告诉我怎么安装。

暂不支持

已经支持了,需要用64位模拟器。

clearw5 avatar Jan 02 '22 03:01 clearw5

因本issue有修改,删除了部分和现有内容不匹配的评论,以免读者困惑。

clearw5 avatar Jan 02 '22 03:01 clearw5

@hyb1996 老大,啥时候能把百度文字认别:EasyEdge离线功能也集成到Auto.JS pro里就好了!!

minirain2000 avatar Jan 09 '22 09:01 minirain2000

@hyb1996 老大,啥时候能把百度文字认别:EasyEdge离线功能也集成到Auto.JS pro里就好了!!

@minirain2000 后面有空会考虑加入的

clearw5 avatar Jan 10 '22 11:01 clearw5

@hyb1996 老大,啥时候能把百度文字认别:EasyEdge离线功能也集成到Auto.JS pro里就好了!!

@minirain2000 后面有空会考虑加入的

老大,请教在Auto.js V4.1中可获取控件:let stBobao = className("android.widget.TextView").depth(5).text("点播").findOnce(0).parent().parent().children(); 在Auto.jsPro中却始终无法获得该控件?是在新版本中取消该功能了吗?如果在Pro中想获取这样控件内容,该如何写程序呢?急!!

minirain2000 avatar Jan 12 '22 08:01 minirain2000

期待,支持Node以后生态会好很多

ParticleG avatar Mar 11 '22 04:03 ParticleG

期待9.0的到来

LiuSuY avatar Apr 22 '22 07:04 LiuSuY

我看v9都有创建的快捷命令了, 以为可以用, 搞了几个小时, 没想到.......

warryy avatar May 08 '22 17:05 warryy

V9识图过多会闪退(已经对readImage返回的图进行了recycle)......

ryougifujino avatar May 12 '22 01:05 ryougifujino

@ryougifujino 是指用nodejs版本的API吗

clearw5 avatar May 15 '22 11:05 clearw5

@ryougifujino 是指用nodejs版本的API吗

是的,使用的是Pro 9.1.16版本,在小米平板5 Pro下测试。

const path = require('path')
const { readImage, findImage, findImageInRegion } = require('image')
const { requestScreenCapture } = require('media_projection')
const { ASSET_PATH } = require('./constants')

const obtainCapturer = function() {
  let capturer

  return async function() {
    if (!capturer) {
      capturer = await requestScreenCapture()
    }
    return capturer
  }
}()

async function captureScreen() {
  const capturer = await obtainCapturer()
  return await capturer.nextImage()
}

async function getImagePoint(imagePath, screenshot) {
  if (!screenshot) {
    screenshot = await captureScreen()
  }
  const template = await readImage(path.resolve(ASSET_PATH, imagePath))
  const point = await findImage(screenshot, template)
  template.recycle()
  return point
}

async function getImagePointInRagion(imagePath, x, y, width, height, screenshot) {
  if (!screenshot) {
    screenshot = await captureScreen()
  }
  const template = await readImage(path.resolve(ASSET_PATH, imagePath))
  const point = await findImageInRegion(screenshot, template, x, y, width, height)
  template.recycle()
  return point
}

module.exports = {
  getImagePoint,
  getImagePointInRagion,
  captureScreen
}

这是具体代码,调用getImagePoint次数过多后悬浮窗会突然消失,再去日志看什么也不会看到(只有一个开始记录)。(已经把Auto.js的电池选项和后台改成不杀,并且锁住。)

ryougifujino avatar May 15 '22 11:05 ryougifujino

@ryougifujino 是指用nodejs版本的API吗

还有调用scale方法会报错。 25875A0331ABEE23DDEA9932B66F9C40 242AE522407F1A6E9F9D17C269C11E51

ryougifujino avatar May 15 '22 11:05 ryougifujino

大佬 能加入一些底层的处理吗?比如说hook 比如说api拦截请求之内的。我觉得把这些做到,堪称第一强大

SilurianYang avatar Jun 27 '22 13:06 SilurianYang

v9 ui 相关的api和v8差别很大啊,v8的文档完全不适用于v9,v9的文档太简略了,没有简易的样例可以参考

LavendaRaphael avatar Jul 16 '22 14:07 LavendaRaphael