gpt4 book ai didi

java - 如何将 `odex` 文件添加到 dalvikvm 的类路径?

转载 作者:行者123 更新时间:2023-11-29 20:58:18 25 4
gpt4 key购买 nike

这个问题是我的 earlier question 的后续问题.

这是来自该问题的相同示例。

import android.os.SystemClock;
/**
* Command that sends key events to the device, either by their keycode, or by
* desired character output.
*/
public class MWE {
public static void main(String[] args) {
System.out.println(SystemClock.uptimeMillis());
}
}

我在我的 /system/framework 中环顾四周之后目录,我发现类 android.os.SystemClockframework.odex 中定义在我的手机上。我很自然地尝试了以下两个命令来尝试访问它。

/system/bin/dalvikvm -Xbootclasspath:/system/framework/core.jar -classpath /system/framework/framework.odex:/data/local/tmp/MWE.jar MWE
/system/bin/dalvikvm -Xbootclasspath:/system/framework/core.jar:/system/framework/framework.odex -classpath /data/local/tmp/MWE.jar MWE

但是,它们都导致相同的错误消息,即无法找到类定义。

如何添加这样的 odex文件到 dalvikvm 的类路径?

最佳答案

你有没有尝试过:

/system/bin/dalvikvm -classpath /data/local/tmp/MWE.jar MWE

据我所知,在这种情况下,它将从 BOOTCLASSPATH 环境变量中提取引导类路径,该变量应该已经包含 core.jar 和 framework.jar。

但是,我怀疑这实际上会导致 UnsatisfiedLinkError 异常,因为不会加载在 SystemClock 中实现某些 native 方法的 JNI 库。

在这种情况下,有一个 handy utility class可用,应加载 native 库。

dalvikvm -classpath /data/local/tmp/MWE.jar com.android.internal.util.WithFramework MWE

关于java - 如何将 `odex` 文件添加到 dalvikvm 的类路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26953116/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com