我无法将Android Studio的调试器附加到我的可调试应用程序进程。其他人有这个问题吗?基本上我无法在Choose Process
对话框中列出我的应用程序。
我正在选择Attach debugger to Android process
:
然后,Android Studio的Process selection
对话框如下所示:
我的应用未显示在Choose Process
列表中的任何想法?
虽然DDMS
在Devices | logcat
列表中看到了我的应用:
Android Monitor
也会在Devices
列表中看到该应用:
我尝试过这些行动:
MacBook
Samsung Galaxy Note II N7100
(4.3)和Samsung Galaxy S4
(4.4.2)Settings->Developer Options
Settings->Developer Options->USB debugging
adb
和adb kill-server
adb start-server
restarting in TCP mode port: 5555
运行adb tcpip 5555
然后使用adb connect 192.168.1.87
Waiting more
如果出现此错误,请{li> Restart
& ADB not responding. You can wait more, or kill "adb" process manually and click 'Restart'
Errors in ADB:
ddms: '$ANDROID_HOME/platform-tools/adb,start-server' failed -- run manually if necessary
Android DDMS
Error screenshot
更新
我注意到该设备在Devices | logcat
- > No debuggable applications
列表中多次出现。如果我从列表中选择第一个设备,它会显示Choose Process
,但我选择了最后一个设备(屏幕截图中的第4个)我看到了我的可调试应用程序。请参见屏幕截图:1st和4th。虽然,即使列表中只有1个设备并显示可调试设备和应用程序,但{{1}}对话框中仍未显示进程。
答案 0 :(得分:29)
所以最后我得到了它的工作,通过:
Checking 'Show all processes' checkbox!
正如您在问题中看到的那样,但是,复选框在开头就处于启用状态,因此存在多个问题。
总而言之,这些是要完成的其他行动:
adb
个进程(使用ps -x | grep adb
和kill -9 [process id]
)adb start-server
adb devices
(确保设备连接成功)Android DDMS
Devices | logcat
显示您的应用和only one device is listed。Show all processes
复选框。 See screenshot 答案 1 :(得分:16)
我这样解决了
一个。关闭Android Studio
湾来自终端的adb kill-server
。同时检查也在PC中的正在运行的进程窗口中被杀死的adb进程
C。启动Android Studio
d。 Android Studio尝试再次初始化adb并恢复工作。
答案 2 :(得分:7)
这对我有用,简单, 转到工具 - > Android->启用ADB集成,单击此选项并将其标记为已选中(如果未选中)这将允许您的genymotion实例连接到ADB,但如果这不起作用,则如果选择了上述设置,则标记为未选中并等到ADB刷新(几秒钟)然后再次进入相同设置并单击它以选择标记,这将重新启动ADB并连接它。每当我看到这个问题时,这对我来说都是完美的。
答案 3 :(得分:7)
可能是因为release
构建变体(您可以在Build-Variants
部分中设置)被错误地选中,只有debug-variant
是debuggable
。
希望这对某些朋友有所帮助。
答案 4 :(得分:2)
我通过去终端并解决了这个问题:
adb kill-server
adb start-server
然后我点击了"附加调试器"按钮,我可以正常使用它
答案 5 :(得分:1)
你没有关闭android studio,因为我看到很多建议,你可以从这里使用终端。 通过这种方式 : 1转到Android工作室的终端; 2 adb kill-server是否杀死了进程; 3 adb start-server是否在这里运行 4.检查设备是否附有adb设备
现在应该可以了!
答案 6 :(得分:1)
我确实发生了同样的事情,此问题的根本原因是在更新任何插件时中断(网络断开或强制关闭)(在我的情况下是kotlin) 解决方案 对于Mac: 转到首选项(快捷键: cmd + ,)
对于Windows :(快捷键:** ctrl + alt + s )
或通过菜单
然后在左侧面板中查找语言和框架-> kotlin / java updaes 并选择它。在右窗格中,将有一个用于更新插件的选项(按钮)。 更新插件。
退出并重新启动android studio。 现在,您将能够在运行的所有可用进程列表中进行调试。
答案 7 :(得分:0)
除了之前的所有答案, 如果添加评估和记录的断点, 可能是其中之一导致空指针异常。 所以去运行 - > viewBreakpoints ... - >取消选择所有这些。
答案 8 :(得分:0)
就我而言,我只是拔出插头并插入电话线。 列出了进程,我能够附加调试器
答案 9 :(得分:0)
我也刚遇到过这个。我正在拔头发,做了所有张贴在这里的事情。我想我可以在这里添加解决方案,以防每个人都尝试了一切。我通过使构建变量可调试来解决它。
所以我制作了一个PR并合并了它,不幸的是,当我拉回源代码时,我自己的build变体上的可调试标志被关闭了,所以我只需要重新打开它即可:
在build.gradle文件上:
android {
...
buildTypes {
...
my_build_type {
minifyEnabled false
shrinkResources false
debuggable true // was false before
}
}
}
还要在将应用构建到设备上之前确保已设置此构建变体:
答案 10 :(得分:0)
答案 11 :(得分:0)
这对我有用: 首先查找您的apk是否可以调试或发布版本(您无法调试)等
主要区别在于调试标志和签名密钥:
对于调试版本,apk 将使用启用调试标志的默认调试签名密钥进行签名。
对于发布密钥,您必须明确指定要签名的密钥,并且调试标志将被关闭,以便无法对其进行调试。
可以为发布版本打开 Proguard。 (也用于调试版本,但不建议)。这一步需要显式完成,默认为false。
Debugging The Release Build Type Without Generating a Signed APK https://stackoverflow.com/Questions/7085644/how-to-check-if-apk-is-signed-or-debug-build https://stackoverflow.com/questions/38864358/difference-between-debug-and-release-apks#:~:text=Major%20differences%20are%20the%20debug,that%20it%20cannot%20be%20debugged。
答案 12 :(得分:-1)
这可能不是解决方案,但我最终只是转而使用仿真器设备(Nexus 5),而不是物理设备。
我尝试了上述所有内容,其中包括: