云控 auto.js pro9 js调用jar dex脚本模块 用IDEA开发java模块构建jar转dex自动化测试开发JavaScript与Java交互

这篇博客介绍了如何使用IntelliJ IDEA开发Java模块,将其构建为jar文件,并转换为dex文件,以便在auto.js pro9中进行JavaScript与Java的交互。内容包括项目的创建、类的编写、工件配置、jar和dex的生成及云控调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概要

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值