概要

IntelliJ IDEA开发java模块,然后构建成jar文件 ,也可以将jar转为dex,最有用js调用jar文件或者dex文件。

IntelliJ IDEA的安装和java环境的配置

不会的可以自己百度解决,很简单。

创建项目

新建项目-》java模块

新建软件包

例如:com.cloud

创建Student类

生成构造方法常用快捷键Alt + Insert
快速补全功能自动生成左侧的类型和变量名快捷键:Ctrl + Alt + V

package com.cloud;
public class Student {
    private String name;
    private int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }
}

创建UseDex 类(运行测试)

package com.cloud;
public class UseDex {
    public static void main(String[] args) {
        Student student = new Student("Bot.js Pro", 18);
        String name = student.getName();
        student.setAge(15);
        int age = student.getAge();
        System.out.println("学生名字: " + name + ", 年龄: " + age);
    }
}

在这里插入图片描述

添加工件

文件-》项目结构-》工件-》+ -》来自具有依赖项的模块-》选择主类-》确认
生成jar

构建-》构建工件

会在项目目录的out/artifacts/useDex_jar目录下生成useDex.jar文件
1.运行jar

java -jar useDex.jar

在这里插入图片描述

2.jar转dex(也可以用MT管理器直接将jar文件转成dex)

dx --dex --output useDex.dex useDex.jar

Bot.js Pro 调用jar文件

var dexFilePath = "/storage/emulated/0/cloud/dex/useDex" + ".jar";
runtime.unloadJar(dexFilePath);// 是一个用于实现 jar 卸载的自定义方法或函数。它的参数 dexFilePath 是要卸载的 jar 文件的路径。通过调用这个方法,你可以通知 Android 运行时系统去卸载特定的 jar 文件,从而释放相关的资源和内存。
runtime.loadJar(dexFilePath);//导入jar文件
importClass(com.cloud.Student);//导入类
var student = new Student("Bot.js Pro", 18);
var name = student.getName();
log(name)
student.setAge(15);//修改年龄
var age = student.getAge();
log("学生名字: " + name + ", 年龄: " + age);

在这里插入图片描述

Bot.js Pro调用dex文件

var dexFilePath = "/storage/emulated/0/cloud/dex/useDex" + ".dex";
//runtime.unloadAll(true);//是一个用于实现卸载所有类和 DEX 文件的自定义方法或函数。它的参数 true 表示在卸载时会同时释放相关的资源和内存。
runtime.unloadDex(dexFilePath);// 是一个用于实现 DEX 卸载的自定义方法或函数。它的参数 dexFilePath 是要卸载的 DEX 文件的路径。通过调用这个方法,你可以通知 Android 运行时系统去卸载特定的 DEX 文件,从而释放相关的资源和内存。
runtime.loadDex(dexFilePath);//导入dex文件
importClass(com.cloud.Student);//导入类
var student = new Student("Bot.js Pro", 18);
var name = student.getName();
log(name);
student.setAge(15);//修改年龄
var age = student.getAge();
log("学生名字: " + name + ", 年龄: " + age);

在这里插入图片描述
调试地址
API开发文档 https://docs.botjs.org

Logo

一站式 AI 云服务平台

更多推荐