gpt4 book ai didi

java - 哪个部署的 jar 包含 android.os.SystemClock?

转载 作者:行者123 更新时间:2023-12-01 12:16:52 26 4
gpt4 key购买 nike

我正在尝试使用 these instructions 在 dalvikvm 上运行一个简单的命令行 java 应用程序。我以 root 身份运行,所以这不是权限问题。

这是应用程序代码:

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());
}
}

当我在 dalvikvm 上运行此程序时,收到以下错误消息:

java.lang.NoClassDefFoundError: android.os.SystemClock
at MWE.main(MWE.java:8)
at dalvik.system.NativeStart.main(Native Method)

这是我运行的命令,适用于上述应用程序的普通 Hello World 版本。

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

我目前的结论是 android.os.SystemClock 并不存在于 core.jar 中。我推测性地尝试添加 framework.jarframework-res.jar ,但我得到了同样的错误。

  1. /system/framework 下的哪个 jar 包含 android.os.SystemClock 类?
  2. 一般来说,Android 中是否有一个地方可以为已部署的 jar 提供类到 jar 的映射?

最佳答案

在我的设备 (HTC One M8) 上,android.os.SystemClock 位于/system/framework/framework3.jar 中。我相信由于classes.dex 上的65k 方法限制,框架被分成了多个jar。 android.os.SystemClock 可能位于不同 Android 设备上的不同 jar 中。

我用来查找 android.os.SystemClock 所在位置的步骤:

adb pull /system/framework/<filename>.jar

然后我将classes.dex反编译到一个带有DexToJar的jar中并使用 JD-GUI 查看 jar 内的软件包(您可以将其作为 ZIP 文件打开,jd-gui 不是必需的,并且仅适用于 Windows)

关于java - 哪个部署的 jar 包含 android.os.SystemClock?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26944851/

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