AutoJs Pro 使用自定义 Java 代码教程

1,398 阅读2分钟

本文主要记录在 AutoJs Pro 开发过程中,创建自定义 Java 类,并生成 Jar 包后,如何在 AutoJs Pro 中进行调用。

开发工具: idea vscode 开发语言:Java JavaScript

备注: idea 在使用之前已完成 jdk maven 等的配置,这部分的配置不在本教程范围之内。

1 创建自定义 Java 类

 使用 idea 创建 Java 项目,并创建自定义类(此处创建 Maven 项目,便于管理依赖)。

1.1 创建项目

  • 打开 idea 选择创建一个 Maven 项目 image.png
  • 项目名称取为 AutoJsTools image.png
  • 项目创建完成 image.png

1.2 创建一个自定义类

  • src/main/java 目录下创建一个 Java 类

image.png

  • 名称为 CalcTool 前面的 com.sunk.tools 为其包名 image.png

  • 创建完成后编写如下代码,自定义一个求和运算的方法

image.png

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 管理面板 image.png

  • 双击 package 按钮,进行打包

image.png

  • 完成后在左侧的 target 文件夹中找到生成的 Jar 文件

image.png

2.2 使用 dex2jar 工具将自定义 Jar 转成 dex 包

  • 使用 d2j-jar2dex.bat 脚本将 jar 包转换为 dex,脚本语法为:d2j-jar2dex.bat -o 输出dex路径 原jar包路径。注:此处也可以使用安卓 app NP管理器 点击 jar 文件,选择转为 dex 包。

image.png

3 在 AutoJsPro 中使用自定义的 sum 方法

3.1 将生成的 dex 文件传入手机存储中

  • 使用 usb 或任何工具将 dex 存入手机中,此处我将此文件存在项目相对路径中的 modules/jars/ 路径下。

lALPDhJzyOuIo7vNCSTNBDg_1080_2340.png

3.2 打开 vscode 并连接上测试手机

image.png

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 进行调试,查看控制台输出

image.png