![](/img/trans.png)
[英]Unable to attach debugger to Android process in Android Studio 2.3.3
[英]Can't attach Android Studio's debugger to Android process
我无法将 Android Studio 的调试器附加到我的可调试应用程序进程中。 其他人有这个问题吗? 基本上我无法在Choose Process
对话框中列出我的应用程序。
我选择Attach debugger to Android process
:
然后,Android Studio 中的Process selection
对话框如下所示:
为什么我的应用程序未显示在“ Choose Process
列表中的任何想法?
虽然, DDMS
在Devices | logcat
看到了我的应用程序 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 kill-server
和adb start-server
重新启动adb
adb tcpip 5555
然后使用adb connect 192.168.1.87
连接到它, restarting in TCP mode port: 5555
Waiting more
并在收到此错误时Restart
,说ADB not responding. You can wait more, or kill "adb" process manually and click 'Restart'
ADB not responding. You can wait more, or kill "adb" process manually and click 'Restart'
ddms: '$ANDROID_HOME/platform-tools/adb,start-server' failed -- run manually if necessary
ADB not responding. You can wait more, or kill "adb" process manually and click 'Restart'
Errors in ADB:
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
-> Devices | logcat
多次出现Devices | logcat
Devices | logcat
列表。 如果我从列表中选择第一个设备,它会显示No debuggable applications
,但我选择了最后一个设备(屏幕截图中的第 4 个)我看到了我的可调试应用程序。 见截图: 1st和4th 。 虽然,即使列表中只有 1 个设备并显示可调试的设备和应用程序,进程仍然不会出现在Choose Process
对话框中。
所以最后我让它工作,通过:
Checking 'Show all processes' checkbox!
但是正如您在问题中看到的那样,复选框在开始时处于启用状态,因此存在多个问题。
总而言之,这些是要完成的其他操作:
我是这样解决的
一种。 关闭 Android Studio
湾从终端执行adb kill-server
。 同时检查 adb 进程也从 PC 的运行进程窗口中被杀死
C。 启动 Android Studio
d. Android Studio 尝试再次初始化 adb 并恢复工作。
这可能是因为错误地选择了release
构建变体(您可以在Build-Variants
部分设置),只有debug-variant
是debuggable
。
希望这能对一些朋友有所帮助。
这对我有用,而且很简单,转到工具->Android->启用 ADB 集成,单击此选项并将其标记为选中(如果未选中)这将允许您的 genymotion 实例连接到 ADB 但如果这不起作用,如果上面提到的设置被选中然后标记为未选中并等待ADB刷新(几秒钟)然后再次转到相同的设置并单击它以标记被选中,这将重新启动ADB并连接它。 每次我看到这个问题时,这对我来说都是完美的。
我通过转到终端并执行以下操作来解决此问题:
adb kill-server
adb start-server
然后我点击了“附加调试器”按钮,我可以正常使用它
您不必像我看到的很多建议一样关闭 android studio,您可以从这里使用终端。 这样: 1 进入Android studio中的终端; 2 是否使用 adb kill-server 来终止进程; 3 adb start-server 是否在这里运行 4. 检查设备是否连接了 adb devices
现在它应该可以工作了!
除了之前的所有答案,如果添加评估和记录的断点,可能是其中之一导致空指针异常。 所以去运行 -> viewBreakpoints... -> 取消选择所有这些。
在我的情况下,我只是从电话中拔出并插入电缆。 进程已列出,我能够附加调试器
我也刚遇到这个。 我正在拔头发,做了这里张贴的所有事情。 我想我可以在这里添加解决方案,以防每个人都尝试过所有方法。 我通过使我的构建变体可调试来解决它。
所以我做了一个 PR 并且它被合并了,不幸的是,当我拉回源代码时,我自己的构建变体上的可调试标志被关闭了,所以我只需要重新打开它:
在您的 build.gradle 文件中:
android {
...
buildTypes {
...
my_build_type {
minifyEnabled false
shrinkResources false
debuggable true // was false before
}
}
}
还要确保在将应用程序构建到设备之前设置了此构建变体:
这对我有用:首先找到你的apk是否可以调试或者是发布版本(你不能调试它)等等
主要区别在于调试标志和签名密钥:
对于调试版本,apk 将使用启用调试标志的默认调试签名密钥进行签名。
对于发布密钥,您必须明确指定要签名的密钥,并且调试标志将被关闭,以便无法对其进行调试。
可以为发布版本打开 Proguard。 (也用于调试版本,但不建议)。 这一步需要显式完成,默认为false。
在不生成签名 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 。
这可能不是一个解决方案,但我最终只是切换到使用模拟器设备(Nexus 5),而不是物理设备。
我尝试了上面提到的所有内容,其中包括:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.