无法将Android Studio的调试程序附加到Android进程

时间:2014-06-18 12:46:47

标签: android macos debugging android-studio adb

我无法将Android Studio的调试器附加到我的可调试应用程序进程。其他人有这个问题吗?基本上我无法在Choose Process对话框中列出我的应用程序。

我正在选择Attach debugger to Android process

Attach debugger to Android process

然后,Android Studio的Process selection对话框如下所示:

No app is in the list to be debugged

我的应用未显示在Choose Process列表中的任何想法?

虽然DDMSDevices | logcat列表中看到了我的应用:

<code>Devices | logcat</code> list

Android Monitor也会在Devices列表中看到该应用:

Android Monitor | Devices list

我尝试过这些行动:

  • 重新启动MacBook
  • 重启设备:尝试使用Samsung Galaxy Note II N7100(4.3)和Samsung Galaxy S4(4.4.2)
  • 在设备上重新启用Settings->Developer Options
  • 在设备上重新启用Settings->Developer Options->USB debugging
  • 通过运行adbadb kill-server
  • 重新启动adb start-server
  • 从macbook重新连接设备和/或插入另一个USB端口
  • 在macbook上启动Genymotion虚拟设备
  • restarting in TCP mode port: 5555运行adb tcpip 5555然后使用adb connect 192.168.1.87
  • 连接到Waiting more 如果出现此错误,请{li> Restart&amp; 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 - &gt; No debuggable applications列表中多次出现。如果我从列表中选择第一个设备,它会显示Choose Process,但我选择了最后一个设备(屏幕截图中的第4个)我看到了我的可调试应用程序。请参见屏幕截图:1st4th。虽然,即使列表中只有1个设备并显示可调试设备和应用程序,但{{1}}对话框中仍未显示进程。

13 个答案:

答案 0 :(得分:29)

所以最后我得到了它的工作,通过:

Checking 'Show all processes' checkbox!
正如您在问题中看到的那样,

但是,复选框在开头就处于启用状态,因此存在多个问题。

总而言之,这些是要完成的其他行动:

  • 终止所有adb个进程(使用ps -x | grep adbkill -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)

这对我有用,简单, 转到工具 - &gt; Android-&gt;启用ADB集成,单击此选项并将其标记为已选中(如果未选中)这将允许您的genymotion实例连接到ADB,但如果这不起作用,则如果选择了上述设置,则标记为未选中并等到ADB刷新(几秒钟)然后再次进入相同设置并单击它以选择标记,这将重新启动ADB并连接它。每当我看到这个问题时,这对我来说都是完美的。

答案 3 :(得分:7)

可能是因为release构建变体(您可以在Build-Variants部分中设置)被错误地选中,只有debug-variantdebuggable

希望这对某些朋友有所帮助。

答案 4 :(得分:2)

我通过去终端并解决了这个问题:

  • adb kill-server
  • adb start-server

然后我点击了&#34;附加调试器&#34;按钮,我可以正常使用它

答案 5 :(得分:1)

你没有关闭android studio,因为我看到很多建议,你可以从这里使用终端。 通过这种方式 : 1转到Android工作室的终端; 2 adb kill-server是否杀死了进程; 3 adb start-server是否在这里运行 4.检查设备是否附有adb设备

现在应该可以了!

答案 6 :(得分:1)

我确实发生了同样的事情,此问题的根本原因是在更新任何插件时中断(网络断开或强制关闭)(在我的情况下是kotlin) 解决方案 对于Mac: 转到首选项(快捷键: cmd + here is Image of it

对于Windows :(快捷键:** ctrl + alt + s ) 或通过菜单
here is image of it

然后在左侧面板中查找语言和框架-> kotlin / java updaes 并选择它。在右窗格中,将有一个用于更新插件的选项(按钮)。 更新插件。 here is image of it

退出并重新启动android studio。 现在,您将能够在运行的所有可用进程列表中进行调试。

答案 7 :(得分:0)

除了之前的所有答案, 如果添加评估和记录的断点, 可能是其中之一导致空指针异常。 所以去运行 - &gt; viewBreakpoints ... - &gt;取消选择所有这些。

答案 8 :(得分:0)

就我而言,我只是拔出插头并插入电话线。 列出了进程,我能够附加调试器

答案 9 :(得分:0)

我也刚遇到过这个。我正在拔头发,做了所有张贴在这里的事情。我想我可以在这里添加解决方案,以防每个人都尝试了一切。我通过使构建变量可调试来解决它。

所以我制作了一个PR并合并了它,不幸的是,当我拉回源代码时,我自己的build变体上的可调试标志被关闭了,所以我只需要重新打开它即可:

在build.gradle文件上:

android {
   ...
   buildTypes {
      ...
      my_build_type {
            minifyEnabled false
            shrinkResources false
            debuggable true    // was false before  
      }
   }
}

还要在将应用构建到设备上之前确保已设置此构建变体:

enter image description here

答案 10 :(得分:0)

  1. 关闭Android Studio。
  2. 从终端“ adb kill-server”杀死adb。打开android studio,然后附加调试器。您将能够看到您的项目。

答案 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),而不是物理设备。

我尝试了上述所有内容,其中包括:

  • adb命令
  • Android Studio升级,重启等
  • 构建变体
  • 插入和拔出电缆。
相关问题