创建 Java 类
注意需要导出的类必须使用 public
修饰。
package com.iuroc.demo;
public class Util {
int sum(int a, int b) {
return a + b;
}
}
生成 .class
文件
javac com/iuroc/demo/Util.java
以上代码将生成 com/iuroc/demo/Util.class
。
生成 .dex
文件
d8 --output out com/iuroc/demo/Util.class
以上代码将在 out
目录生成 .dex
文件列表。
导入 .dex
文件
- 将生成的
.dex
文件复制到 iApp 裕语言 3.0 项目的res
目录中。 -
创建
module.mjava
文件:import android.content.Context; import dalvik.system.DexClassLoader; DexClassLoader loadDex(String dexPath) { String[] parts = dexPath.split("/"); String newDexPath = activity.getFilesDir() + "/" + parts[parts.length - 1]; boolean result = i.fc(dexPath, newDexPath); String optimizedDir = activity.getDir("dex_opt", Context.MODE_PRIVATE).getAbsolutePath(); DexClassLoader classLoader = new DexClassLoader( newDexPath, optimizedDir, null, activity.getClassLoader()); return classLoader; }
- 在裕语言中调用:
call(data, "mjava", "module.loadDex", "@classes.dex") cls(data, "com.iuroc.demo.Util", Util) javanew(util, Util) javax(result, util, Util, "sum", "int", 1, "int", 2) tw(result)