作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个问题是我的 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.SystemClock
在 framework.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/
我是一名优秀的程序员,十分优秀!