86

我正在 Android Studio 中制作应用程序,现在尝试通过 adb 对其进行调试。当我单击 Android 一词和底部栏上的徽标时,logcat 会出现并识别我的设备。然后我看到这个:

截屏

我需要对我的应用程序做什么才能使其“可调试”?

仅供参考之前在 Eclipse 中开发此应用程序,并且 adb 运行良好。

4

35 回答 35

111

我在执行以下步骤后解决了这个问题:

转到工具==>android==>禁用 ADB 集成并再次启用它。

之后,从设备上拔下 USB 并重新插入。

最后按 shift + F9

于 2014-12-28T14:46:25.137 回答
88

工具栏上有一个调试图标。它看起来像一个小“错误”,位于运行图标(看起来像一个播放按钮)旁边。尝试使用它启动应用程序。

点击这里调试

编辑:使用带有 Gradle 的 Android Studio 时,不推荐使用以下内容。

AndroidManifest.xml文件中还有一个调试标志。它位于应用程序标签下,应设置为“true”,如下所示:

<application android:debuggable="true">
</application>
于 2013-05-25T23:29:29.133 回答
39

另一件要小心的事情(我这样做是为了知道,呃)。确保不要启用 Proguard 进行调试!

于 2014-10-29T23:52:03.470 回答
19

即使在 Android Studio 中多次调试后,我也随机遇到了这个问题。有一天,调试器无法附加。我只需要退出 Android Studio 并重新打开它,调试器就会重新开始工作。

于 2013-08-01T18:25:39.907 回答
18
    <application android:debuggable="true">
</application>

这不再有效!无需在清单中使用 debuggable="true"。

相反,您应该将 Build Variants 设置为“debug”

调试模式

在 Android Studio 中,转到BUILD ->选择 Build Variant

现在尝试调试。谢谢

于 2016-02-17T10:30:52.147 回答
14

这对我有用:

  1. 关闭安卓工作室。
  2. 打开外壳,写:

    adb kill-server

    adb start-server

于 2014-09-17T09:02:42.490 回答
12

如果您的应用程序曾经是可调试的,但突然间不再可调试。这是我的解决方案

  1. 禁用和启用USB debug手机中的开关。
  2. 卸载您的应用程序。
  3. 在 Android Studio 中单击运行。
于 2015-04-26T09:42:56.993 回答
11

确保您已启用 ADB 集成。

在菜单中:工具 -> Android -> 启用 ADB 集成 (v1.0)

于 2014-12-17T09:41:21.533 回答
8

您无法在 Android Studio 中调试应用程序的一种情况是您选择了“发布”构建变体。发生在我身上 - Gradle 构建了应用程序的发布版本(不可调试),然后 Android Studio 在尝试连接调试器时失败。

于 2013-08-01T09:18:18.303 回答
8

如果您在 Manifest 文件中设置自定义“android:process”,则应使用“将调试器附加到 Android 进程”图标。
在我的情况下,我应该选择合适的进程并在“等待调试器”对话框出现后单击“确定”按钮。
在此处输入图像描述

于 2016-05-25T13:20:18.070 回答
7

这偶尔会发生在我身上,我还没有弄清楚为什么。没有一个已经发布的解决方案对我有用。唯一对我有用的是:

  1. 从设备卸载应用程序。
  2. 清洁项目。“构建 -> 清理项目。”
  3. 重建并安装。
于 2014-06-24T17:35:01.550 回答
6

在我的情况下,在任何行附近都会出现一个带有十字和红线的红色圆圈,并带有一条消息:“No executable code found at line ...”就像在Android studio gradle breakpoint No executable code found at line中一样。

更新后出现问题build.gradle。我们包含了 Kotlin 支持,因此许多方法超过了 64K。问题线:

buildTypes {
    debug {
        minifyEnabled true

将它们更改为:

buildTypes {
    debug {
        minifyEnabled false
        debuggable true

然后使用“同步项目与 Gradle 文件”按钮同步 gradle。如果在重新启动您的应用程序后您会收到错误消息:“错误:.dex 文件中的方法引用数不能超过 64K。在https://developer.android.com/tools/building/了解如何解决此问题multidex.html ",然后,像在.dex 文件中的方法引用数不能超过 64k API 17中添加以下行build.gradle

android {

    defaultConfig {
        ...

        // Enabling multidex support.
        multiDexEnabled true
    }
    ...
}

dependencies {
    implementation 'com.android.support:multidex:1.0.2'
}

更新

根据https://developer.android.com/studio/build/multidex.html执行以下操作以启用 Android 5.0 以下的 multidex 支持。否则它不会在这些设备中启动。

打开AndroidManifest并找到标签<application>。Nearandroid:name=是对 Application 类的引用。开这堂课。扩展应用程序类MultiDexApplication

public class MyApplication extends MultiDexApplication { ... }

如果没有设置应用程序类,请这样写:

<application
        android:name="android.support.multidex.MultiDexApplication" >
    ...
</application>
于 2018-02-15T14:55:52.003 回答
5

就我而言,我在调试 buildType 中忘记了 minifyEnabled=true 和 shrinkResources=true。我将这些值更改为 false,它再次起作用了!

在此处输入图像描述

于 2020-09-01T20:04:27.093 回答
4

检查,如果您在调试按钮旁边的下拉菜单中选择了应用程序项目。有时 Android Studio 只是重置此选择...

在此处输入图像描述

于 2015-12-08T10:13:30.767 回答
4

如果启用

<application android:debuggable="true">
</application>

在应用程序manifest.xml中确保在生成最终签名的 apk 时禁用它,因为这可能成为攻击者的安全漏洞。仅当只有一个应用程序不显示日志时才使用它。但是,在考虑该选项之前,请尝试以下操作:

导航到 android studio 中的工具

 Tools==>android==>disable adb integration and again enable it
于 2016-02-05T18:03:16.520 回答
3

还要确保您没有使用其他可能也在使用 ADB 的应用程序,例如 Eclipse。

于 2015-06-16T15:31:26.747 回答
3

我测试了所有方法,但没有一个有效!

最后不得不更改 adb 端口并且它起作用了。首先杀死 adb 服务器,如下所示:

adb kill-server

然后使用另一个端口重新启动它

adb -P 5038 start-server
于 2017-06-13T07:38:54.803 回答
3

我使用以下命令进行了干净的构建..令人惊讶的工作。

sh gradlew 清洁构建

希望有人得到帮助!

于 2017-06-20T15:08:30.813 回答
2

确保在设备或模拟器上启用开发者模式和 USB 调试。(设置新的时容易忘记。)

于 2016-04-21T16:02:29.953 回答
2

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

于 2016-05-23T09:05:19.907 回答
2

在我的情况下,必须通过完全清除文本文件proguard-rules.prominifyEnabled false在 build.gradle 文件中删除 debug Build Type 中的 proguard

  debug {
            debuggable true
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
于 2018-03-28T07:08:59.143 回答
2

我可以通过运行 -> 编辑配置,选择我的项目,选择调试器选项卡,然后将“调试类型”从“自动”更改为“双”来修复它:在此处输入图像描述

于 2020-01-07T12:47:32.660 回答
2

从 android studio 重新启动 adb 服务器:工具 -> “ Troubleshhot 设备连接

于 2020-03-22T22:42:19.393 回答
1

这解决了我的问题。从设备上卸载应用程序并通过 Android Studio 再次运行它。

于 2016-09-27T10:32:20.310 回答
1

对我来说,它发生在我使用 Proguard 时,所以通过尝试所有解决方案,我清理了我的项目并按下了 Android Studio 上的调试按钮,它开始调试

于 2018-03-17T22:36:31.570 回答
1
<application android:debuggable="true">
</application>

上面的代码不再是解决方案。您需要在 build.gradle 文件中启用调试。如果您有不同的 buildTypes,请确保您在其中一种构建类型中设置“debuggable true”。这是我的一个项目的示例代码。

buildTypes {
    debug {
        debuggable true
    }

    release {
        debuggable false
    }
}

**我已经从我的 gradle 文件中删除了 buildTypes 中与此问题无关的其他行。

还要确保在进行调试时在 android studio 中选择正确的构建变体。

在此处输入图像描述

于 2018-09-17T15:33:57.060 回答
1

多年来,我多次访问该主题,并且总是有不同的回应对我有所帮助。这次我发现是我的 USB 集线器阻止了调试器正常工作。听起来很奇怪,我没有通过 USB 集线器将手机连接到我的电脑,而是将它直接连接到我的 Mac 并开始调试。

于 2019-05-19T16:23:41.367 回答
1

就我而言,我试图从 QA 版本中进行调试。将构建变体更改为调试,它应该可以工作。

要更改构建变体,请单击左下角名为“构建变体”的菜单

在此处输入图像描述

如果此菜单在您的 IDE 中不可用,您可以执行以下操作。

  1. 双击你的 shift 按钮,你应该会看到一个搜索窗口弹出。
  2. 键入“构建变体”,如下所示

在此处输入图像描述 3. 现在将您的构建更改为从 QA 或 Release 进行调试。

于 2020-07-08T02:12:44.637 回答
1

这在 Android Studio 3.6.3 中对我有用

设置 -> 构建、执行、部署 -> 调试器 -> Android 调试桥 -> 启用“使用库后端”

在此处输入图像描述

于 2020-09-26T06:22:12.223 回答
0

这里有一些可能会引起注意的 oops:很容易意外地为 logcat 输出窗口(带有放大镜的文本框)输入了一个过滤器而忘记了它。可能会过滤掉所有输出并使其看起来像什么都没有的东西。

于 2016-11-11T06:10:09.817 回答
0

就我而言,我遇到了同样的问题,因为我尝试调试签名的 apk。在我的 gradle 配置中,我制作了不同的构建变体,并尝试使用生产 keystore.jks 调试发布构建

于 2017-03-21T11:19:29.263 回答
0

在 Android Studio 3.2.1 中对我有用的是什么

曾是:

RUN -> Attach debugger to Android Process --> com.my app

于 2018-11-28T12:15:27.917 回答
0

将您的项目与 Gradle 文件同步,这将有所帮助。

于 2020-06-29T10:22:39.297 回答
0

在此处输入图像描述

我的问题是:

  1. 除了我在 AS 中的当前项目之外,我还在使用其他调试应用程序。
  2. 当我单击“附加到调试器”时,它说“com.xyz.abc.appname 没有进程”

这对我有帮助:就在“制作项目/构建”按钮之后,有“选择运行/调试配置”> 转到“编辑配置”配置如图所示。然后我的调试器开始工作。

于 2021-04-27T13:35:54.790 回答
-3

我有同样的问题,我通过谷歌尝试了几乎所有类型的解决方案。但我无法解决。最后,我找到了解决方案。这是 Android Studio 错误。

不要点击Run (Alt + F10)- 只需点击Debug (Shift + F9)

然后 Android Studio 将向您显示带有 ADB 的警告消息,然后单击“确定”。

您可以在 logcat 控制台中看到登录信息。并且包将显示在 DDMS(设备)上。

于 2014-11-26T06:16:37.090 回答