本文主要记录在 AutoJs Pro 开发过程中,创建自定义 Java 类,并生成 Jar 包后,如何在 AutoJs Pro 中进行调用。
开发工具: idea
vscode
开发语言:Java
JavaScript
备注: idea 在使用之前已完成 jdk
maven
等的配置,这部分的配置不在本教程范围之内。
1 创建自定义 Java 类
使用 idea 创建 Java 项目,并创建自定义类(此处创建 Maven 项目,便于管理依赖)。
1.1 创建项目
- 打开 idea 选择创建一个 Maven 项目
- 项目名称取为
AutoJsTools
- 项目创建完成
1.2 创建一个自定义类
- 在
src/main/java
目录下创建一个 Java 类
-
名称为
CalcTool
前面的com.sunk.tools
为其包名 -
创建完成后编写如下代码,自定义一个求和运算的方法
package com.sunk.tools;
public class CalcTool {
/*
* 加法运算
*/
public static float sum(float a, float b) {
return a + b;
}
}
2 打包并生成 dex 文件
2.1 使用 Maven 打 Jar 包
-
单击右侧的 maven 选项卡,弹出右侧 maven 管理面板
-
双击
package
按钮,进行打包
- 完成后在左侧的
target
文件夹中找到生成的 Jar 文件
2.2 使用 dex2jar
工具将自定义 Jar 转成 dex 包
- 使用
d2j-jar2dex.bat
脚本将 jar 包转换为 dex,脚本语法为:d2j-jar2dex.bat -o 输出dex路径 原jar包路径
。注:此处也可以使用安卓 appNP管理器
点击 jar 文件,选择转为 dex 包。
3 在 AutoJsPro 中使用自定义的 sum
方法
3.1 将生成的 dex 文件传入手机存储中
- 使用 usb 或任何工具将 dex 存入手机中,此处我将此文件存在项目相对路径中的
modules/jars/
路径下。
3.2 打开 vscode 并连接上测试手机
3.3 创建脚本调用 dex 包
- 代码如下
// 加载指定路径下的自定义 dex 包
runtime.loadDex("modules/jars/AutoJsTools-1.0.dex")
// 导入指定自定义类
importClass(com.sunk.tools.CalcTool)
// 创建一个实例
var calc = new CalcTool()
// 调用自定义方法
var res = calc.sum(100, 20)
print(res)
- 使用
F5
进行调试,查看控制台输出
完