gpt4 book ai didi

android - 如何调试从 'adb shell am start -D ' 开始的 android 应用程序?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:00:16 29 4
gpt4 key购买 nike

我需要调试已安装在手机上的 Android 应用程序。我能够在 Debug模式下启动应用程序,但我无法连接使用 JDWP 的进程。我尝试了两种不同的方法,但都失败了。 (请参阅以下部分)


命令行尝试

1- 启动应用程序

[...]sdk\platform-tools>adb -d shell am start -D -n "package/package.SomeActivity"

应用程序启动并显示警告“/!\Waiting for debugger”。

2- 打开一个 JDWP 端口

[...]sdk\platform-tools>adb forward tcp:8000 jdwp:7602

3- 尝试使用 jdb 连接

[...]sdk\platform-tools>jdb -attach 127.0.0.1:8000
java.io.IOException: shmemBase_attach failed:
at com.sun.tools.jdi.SharedMemoryTransportService.attach0(Native Method)
at com.sun.tools.jdi.SharedMemoryTransportService.attach(SharedMemoryTransportService.java:108)
at com.sun.tools.jdi.GenericAttachingConnector.attach(GenericAttachingConnector.java:116)
at com.sun.tools.jdi.SharedMemoryAttachingConnector.attach(SharedMemoryAttachingConnector.java:63)
at com.sun.tools.example.debug.tty.VMConnection.attachTarget(VMConnection.java:519)
at com.sun.tools.example.debug.tty.VMConnection.open(VMConnection.java:328)
at com.sun.tools.example.debug.tty.Env.init(Env.java:63)
at com.sun.tools.example.debug.tty.TTY.main(TTY.java:1066)
Fatal error:
Unable to attach to target VM.

IntelliJ 尝试

我已将我的本地项目配置为启动默认 Activity 并取消选中“部署应用程序”。

我也让应用程序以相同的警报启动,但不幸的是,IDE 没有连接到远程进程。

Target device: 42f7cc14e2acbfab
Launching application: ********/********.SomeActivity.
DEVICE SHELL COMMAND: am start -D -n "********/********.SomeActivity"
Starting: Intent { cmp=********/********.SomeActivity }

Waiting for process: ********

最佳答案

  1. Root 手机
  2. 打开一个root shell

    (computer)$ adb shell 
    (phone)$ su
    (phone)#
  3. 运行am命令

    # am start -D -n "package/package.SomeActivity"

这样您就可以调试任何应用程序,无论它是否设置了 android:debuggable

关于android - 如何调试从 'adb shell am start -D ' 开始的 android 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20205262/

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