在Android Studio中自动连接到Android进程的调试器

27

有没有办法配置 Android Studio 使其自动将调试器附加到 Android 进程(特别是由服务启动的后台进程)?我希望在运行在后台进程中的服务中设置断点,使得可以在 Android Studio 中停止执行。我已经能够手动启动已启动的服务并手动附加调试器以使其工作。我只是想知道是否有一些方法可以配置 Android Studio 使其自动实现这一点。

编辑:我可能应该先提到,我想将调试器附加到从服务启动或绑定创建的后台 Android 进程。


以调试模式启动它,而不是运行模式。 - m0skit0
4
似乎只能捕获与安卓应用程序同一进程中的断点。我想要捕获在运行于单独后台进程中的服务中的断点(即清单上将服务的远程属性设置为进程名称)。 - Daniel Aquino
是的,你也需要使用调试模式启动服务。 - m0skit0
1
@DanielAquino 你解决了这个问题吗?我也遇到了同样的问题。 - Julian A.
2个回答

20
如果您知道包名,可以使用以下命令: adb shell am set-debug-app -w packagename,它会等待调试器连接。

1
这似乎无法正常工作,打开应用程序,然后使用Android Studio的附加调试器功能附加后,在期望的断点处停止。而上述情况并非如此(虽然很有前途因为它停在那里等待)。 - natanavra
对我来说非常有效。我能够在Application.onCreate()中断点。 - amram99
需要补充的一点是:可以使用“clear-debug-app”命令清除之前使用“set-debug-app”设置的调试包。 - neevek

2

你可以使用这个小按钮直接在启动时附加调试器来运行应用程序:

Android Studio 菜单栏


7
似乎只能捕获与应用程序运行在同一进程中的断点。我希望捕获的断点位于配置为在远程进程中运行的服务中(即清单中的 remote 属性设置为进程名称)。 - Daniel Aquino

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接