概要
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("云控", 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
云控调用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("云控", 18);
var name = student.getName();
log(name)
student.setAge(15);//修改年龄
var age = student.getAge();
log("学生名字: " + name + ", 年龄: " + age);
云控调用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("云控", 18);
var name = student.getName();
log(name);
student.setAge(15);//修改年龄
var age = student.getAge();
log("学生名字: " + name + ", 年龄: " + age);
调试地址
http://smartcloudscript.com