Android Studio - 无法调试应用程序

258

我尝试调试我发布的Android应用程序,但是Android Studio无法附加调试器。(它找不到正在运行的应用程序的Android进程)。

在设备控制台下,只有一条消息:

没有可调试的应用程序


拔掉设备,然后切换关闭/打开ADB集成可以解决此问题,但这应该在Android Studio中修复! - Paschalis
以下答案中没有提到这一点,所以在确保启用了ADB Integration并仍然遇到问题之前,在尝试下面的答案之前,首先尝试最简单的方法:Invalidate Caches / Restart... - S.R
红米Note 3(棒棒糖)由于未知原因无法进行性能剖析器,尽管其他设备可以。 - 林果皞
17个回答

685

您还应该拥有“工具”->“Android”->“启用ADB集成”激活。


35
如果您打开设备监视器导致ADB日志失效,这也是有帮助的,因为它可以帮助您重新获得ADB日志记录。请注意不要篡改原意。 - trippedout
40
如果它已经被启用,禁用和重新启用也可以解决这个问题。 - Hadi Tok
6
需要注意的是,您不能同时运行其他IDE(比如Eclipse)。如果您正在运行其他IDE,在关闭Eclipse后,可能需要重新启动AS。 - Sufian
6
谢谢!一定有东西禁用了它,可能是Android设备监视器。 - Sam
1
这是当前Android Studio 1.3x版本的默认设置,但它甚至无法接近我的问题解决方案...如果这没有帮助到您,请查看此Wiki http://stackoverflow.com/questions/32163302/androd-studio-doesnt-build-on-simulator-after-clean-install - whyoz
显示剩余3条评论

55

解决方案是在应用的gradle文件中打开debuggable标志 (debuggable true):

apply plugin: 'com.android.application'

android {
    compileSdkVersion 19
    buildToolsVersion "20.0.0"

    defaultConfig {
        applicationId "org.example"
        minSdkVersion 14
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }

    buildTypes {
        debug {
            debuggable true
        }
    }
}

在 Android Studio 同步 Gradle 和项目文件并重新安装应用程序后,调试功能开始工作。


13
最好不要使发布版本可调试。最好在debug buildType下设置debuggable标志。 - jb11
我不明白,使用Android Studio V1.1及之前的版本时可以正常工作,但自从V1.2以后就无法工作了。所以感谢您的提示!也感谢@jb11关于buildType debug的推荐。 - arne.jans

33

Android Studio 工具栏

只需点击“Bug”图标,您就可以开始使用了。

我曾经遇到过相同的问题,这个方法解决了我的问题。 希望对其他人有所帮助。


5
由于某种神奇的原因,我无法打开ADB集成功能,但这种方法有效。 - Юрій Мазуревич

11

如果你在使用Intellij或者Android Studio(AS), 请确保你的Build Variants设置是debug。

Build Variants


9

检查是否已启用工具->Android->启用ADB集成。 同时,禁用并重新启用它通常是有效的。


1
禁用和重新启用它对我来说非常完美,因为它已经被启用,但自从我上次更新Android Studio以来就一直没有工作。 - I'm_With_Stupid

7
我想在以上两个答案中添加一个观点:
如果同时运行 Eclipse IDEAndroid Studio,那么上面的答案可能无法帮助您。即使在 Gradle 文件中设置了 debuggable true,可调试应用程序也不会刷新。
因此,请关闭 Eclipse IDE 并在 Android Studio 中检查。可调试应用程序将会刷新。
谢谢。

或者也可以是两个Android Studio实例。需要确保只有一个正在运行。 - AlexW

7

信不信由你,一个有问题的USB数据线即使你遵循所有建议也会导致这个问题持续存在。更换我的USB数据线解决了这个问题。


1
是的,您也可以尝试将设备拔出并插入到另一个USB端口。 - Choletski

1

您还应检查 AndroidManifest.xml 文件中的应用程序标签中是否存在 android:debuggable="false" 选项。

<application
        android:icon="@drawable/icon"
        android:label="@string/app_name"
        android:debuggable="false">

只需删除此选项即可使其正常工作。

1
当我想在生成签名APK后调试我的应用程序时,发生了这种情况,因此我必须将Build Variants的值从release更改回debug。

1

工作解决方案

1.进行测试时,请以调试模式运行,如果一切正确,则进程已附加,您可以进行调试。可以在列表中看到。

enter image description here

2.如果显示应用程序不可调试,则修改gradle

enter image description here

  1. 重复步骤1

4. 如果没有启用ADB集成,请切换到“工具”->“Android”->“启用ADB集成”,并将其启用。

enter image description here

5. 重新启动 adb 服务器。

enter image description here

6. 断开并连接设备,它将列出:

enter image description here


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