![]() |
1 year ago | |
---|---|---|
.. | ||
.vs | 1 year ago | |
common | 1 year ago | |
types | 1 year ago | |
work | 1 year ago | |
.babelrc | 1 year ago | |
.eslintignore | 1 year ago | |
.eslintrc.json | 1 year ago | |
.gitignore | 1 year ago | |
LICENSE | 1 year ago | |
README.md | 1 year ago | |
advancedEngines.js | 1 year ago | |
header.txt | 1 year ago | |
jsconfig.json | 1 year ago | |
package.json | 1 year ago | |
scriptConfig.js | 1 year ago | |
webpack.config.js | 1 year ago |
本项目是在 https://github.com/snailuncle/webpack-autojs 项目上魔改得来,
本项目的目标是做个 autoxjs (新的开源 autojs)项目的开发工具包,即 autox-cli
满足工程化(远离刀耕火种):自动化管理个js类库,自动对源码,编译、混淆、dex加密、打包、部署,让开发人员专心写业务。
当然要实现 工程化,你需要有一些nodejs开发基础知识。到目前为止尚未封装出cli和dex加密,但是已经实现了除此之外的所以功能,
所以刚开始你会看到很多文件,请不要害怕,只关心下面文档中提到的几个文件即可。
项目 直接将编译和的js 转换为 class 转换为 dex 没有实现自动化,
(除非一开发的功能要授权之类的,其他情况下没有必要,转换为dex。要收费授权,和autojs设计的初衷和开源协议都是背离的。)
下一步将主要解决这个问题。欢迎有兴趣的fork项目一起实现。
npm i -g webpack webpack-cli --registry=https://registry.npmmirror.com
下载本项目 或git clone 项目 git clone https://github.com/kkevsekk1/webpack-autojs.git
cmd 到项目 , 运行命令,安装依赖
6. 到这来基本上可以说 开发环境 就完成了,(你还要一部手安装 autoxjs),下面说 这项目的配置文件和开发的形式。
# 项目开发、编译、打包、部署介绍
1. work 目录: 这就是我们项目的总目录,即这里面每一个文件夹是一个autoxjs 项目。比如我们 demo,demo1,dy 即为3个项目。
2. scriptConfig.js 文件: 我们要如何编译项目即在这个文件中配置,打开文件,有注释的可以按照注释改。
3. header.txt 无关紧要的文件,里面的内容会原封不动的添加到 编译后的js代码头部
4. 调整好上面 3处内容 就可用编译了我们的项目了
5. package.json 这个文件规定 看 第6-9行,有两个命令 start 和 build 分别对应开发环境和生成环境的编译,无需修改。只要知道他们 分别对应 npm run start 和 npm run build 。
6. 运行 ```npm run start ``` 即开发环境,每次修改代码,代码会自动编译,并且 scriptConfig.js 中的wath配置为'rerun'或'deploy' 那么代码将自动在手机中运行 或自动将重新编译的项目保存到手机中。
7. dist目录: 运行上面编译命令( start或build),就有编译的结果,编译的结果就 dist目录中,这目录下每一个目录代表的就是一个编译后的autoxjs项目.编译后的目录的名称 可以配置一个前缀,以便和编译前的项目区分(当他们都以项目形式保存手中的时候就很有必要)。
8.``` npm run start ``` 这个
# 编译 dex
1. [使用工具](https://github.com/molysama/auto.pro/wiki/dex) 的来源。我用这个工具来打包,不打算重复造轮子了
2. [安装jre](https://www.baidu.com/s?ie=UTF-8&wd=jre)
3. 安装 auto-cli ``` npm i "@auto.pro/cli" -g ```
4. 运行编译命令 ``` auto-cli dex ./dist/demo/main.js ```
5. 如果由于愿意写个 webpapck 插件 ,来执行这里几个命令,实现自动化愿意 pull 代码,我没打算对我的代码 编译为dex 再加固,所以没有动力实现这个插件!
# 其他说明1:
1. 主要配置文件就一个`scriptConfig.js`
2. `header.txt` 该文件中的内容会被添加到打包后的文件的头部, 默认为空.
3. `uiMode` true: ui模式, false 非ui模式
4. `base64`webpack打包后是否base64编码
5. `base64RandomStrLength`base64编码后, 在字符串前面添加的随机字符长度
6. common 这目录是想放在公共通用包,页希望有 要用的符合 闭包规范的autoxjs的lib可以提供,我知道一个叫 [autojs_sdk](https://github.com/kangour/autojs_sdk) 还行,但是这个封装还是不够,我解决还可以有更好的。
7. plugin 这目录是自定义 webpack 插件,为编译和自动化服务,一般无需关心。
# 其他说明2:
1. 目前支持的ui有四种, ` ui.layout, ui.inflate, floaty.rawWindow, floaty.window `
2. 如果layoutContent是一个字符串变量, 而不是xml的话, 可以尝试, 将`floaty.window`定义为`floatyWindow`, 其他的` ui.layout, ui.inflate, floaty.rawWindow, floaty.window `也一样:
let floatyWindow = floaty.window; var w = floatyWindow(layoutContent);
```
node_modules\webpack-autojs-loader\index.js
https://github.com/molysama/auto.pro
如果导入jar或者dex, 使用java对象, 建议直接使用对象的完整名字, 比如var url = new java.net.URL(myUrl);
, 而不是var url = new URL(myUrl);
auto.pro 可以ts 来编写脚本,构建应用。 如果希望该项目应用 自动部署到手机等功能,请自行配置webpack.config.js即可