我试图调试我的Android应用程序的发布版本,但Android Studio未能附加调试器。(它无法找到我运行的应用程序的Android进程)。

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

没有可调试的应用程序


解决方案是在应用程序的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与项目文件同步并重新安装应用程序后,调试开始工作。


你还应该激活Tools->Android->Enable ADB Integration。


在以上两个答案的基础上,我想补充一点:

如果Eclipse IDE与Android Studio并行运行,那么上述答案可能对您没有帮助。在Gradle文件中设置debuggable true后,可调试应用程序将不会刷新事件。

因此,关闭Eclipse IDE并检入Android Studio。可调试的应用程序将刷新。

谢谢你!


只要点击“Bug”图标,你就可以开始了。

我也遇到过同样的问题,这招奏效了。 希望它能帮助到别人。


点击绿色bug,但确保下拉菜单设置为app,如果没有,它将不会部署你的应用,只说一些关于。

连接到目标虚拟机,地址:'localhost:xxx',传输: “套接字”


信不信由你,即使你遵循了这里的所有建议,有故障的USB线也会导致这个问题挥之不去。换USB数据线帮我解决了这个问题


确保您的构建变体被设置为“调试”。调试在你的构建中有debuggable true。gradle文件


我用Mac运行Android Studio。我同意@Kushal的观点,不过我没有打开Eclipse。 我关闭了Parallels Desktop和其他可能使用相同Gradle的应用程序。


检查Tools->Android->Enable ADB Integration是否已启用。 也禁用和重新启用它工作的大多数时候。


它发生在我身上,当我想调试我的应用程序后,我生成了一个标志APK,所以我不得不改变回构建变量的值从发布到调试。


多个选项来做到这一点:

1.工具->Android->启用ADB集成

OR

2.Build->清洁项目,Build->重建项目。然后是“adb kill-server”和“adb start-server”

以上任何一个都可以。


你也应该检查你的AndroidManifest.xml文件,在你的应用程序标签中没有像android:debuggable="false"这样的选项。

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

要使它工作,只需删除这个选项。


Ctrl + shift +一个 类型启用ADB集成 点击切换 完成


这就是我遇到的问题。你导入的AAR文件可能会改变debuggable的属性,所以只需在你的主应用程序清单文件中删除debuggable属性。 见图:


工作方案

1.对于测试运行调试,如果一切都是正确的过程是附加的,你可以调试。能在列表中看到吗

2.如果它说应用程序不可调试,然后改变gradle

重复步骤1

4 .如果没有切换Tools->Android->启用ADB Integration并使其启用。

5.重启adb服务器

6.断开连接和连接设备它将列出


如果intellij或AS,你应该确保你的构建变量设置是调试的。


信不信由你,如果你使用的是Windows操作系统,区域设置也与此有关。

确保你的区域格式是英语(美国)或其他使你的日历非unicode的设置(例如不是波斯历或阿拉伯历…)

显然,Android Studio或ADB开发团队中的某些人在他们的代码中使用了.toString(),而不考虑文化!