在幽兰上调试安卓环境中的Java程序

调试环境:幽兰代码本,linux版本为5.10

1.首先要保证安卓设备已经开机且进入了开发者模式,通过首页的 setting–> Device Preferences–> Aboot–> Build。如下图所见,连续点击build将会触发安卓系统的开发者模式。

2.连接调试,首先要确保幽兰上有 adb 与 jdb,若是没有可以通过命令安装:

  sudo apt-get install android-sdk
  sudo apt-get install default-jdk

通过点击安卓系统连接的wifi名称可以知晓其地址

输入命令:

     adb connect <ip>

即可进行连接。
输入命令:

adb devices

可以查看其连接的设备

输入命令:

adb jdwp

可以查看安卓设备中所运行的Java进程。
下图中显示的为Java进程的pid

我们选择其中一个pid(注意:最好选择pid较大的进程,因为pid较小的进程极有可能是系统进程,不能轻易链接),输入命令:

adb forward tcp:<port> jdwp:<pid>

这里我们指定端口为8000

输入命令:

jdb -connect com.sun.jdi.SocketAttach:hostname=localhost,port=<port>

该命令为是Java Debugger(jdb)命令的一部分,用于通过 Socket 连接到正在运行的 Java 进程进行调试。具体而言,该命令使用 com.sun.jdi.SocketAttach 类连接到本地主机(localhost)上的 8000 端口,并启动与目标 Java 进程的调试会话。这种方式通常用于远程调试正在运行的 Java 应用程序。

通过运行该命令,你可以在 jdb 中连接到正在监听 8000 端口的 Java 进程,并开始对其进行调试操作。这样,你就可以使用 jdb 提供的各种调试功能(如断点设置、变量查看和步进执行等)来分析和修复代码中的问题。

需要注意的是,成功运行该命令需要确保目标 Java 进程正在监听指定的 8000 端口,并且已启用了调试模式。此外,你还需要正确配置和安装相应的 JDK(Java Development Kit)以及 jdb 工具。

作者:施国瑞  创建时间:2023-10-24 10:48
最后编辑:施国瑞  更新时间:2024-12-20 17:01