无法在Android Studio中调试应用程序

And*_* D. 71 debugging android adb android-studio

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

截图

我需要对我的应用做些什么才能使其"可调试"?

我们之前在Eclipse中开发这个应用程序并且adb工作正常.

小智 108

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

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

之后,从设备上拔下USB,然后重新插入.

最后按shift + F9

  • 在Android Studio 3.1.3版本中没有名为"Tools ==> android"的菜单项,我无法在任何地方找到此选项 (12认同)
  • 使用此选项在 Android Studio 4 中重新启动 ADB:工具 ->“设备连接故障排除”此处点击“下一步”按钮。最后第四步就有了ADB重启选项 (5认同)

fre*_*dom 80

工具栏上有一个Debug图标.它看起来像一个小"bug",位于Run图标旁边(看起来像一个播放按钮).尝试使用它启动应用程序.

点击这里调试

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

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

<application android:debuggable="true">
</application>
Run Code Online (Sandbox Code Playgroud)

  • 最新版本的android studio并没有强制要求你设置android:debuggable,实际上它显示了一个波形,它建议在配置中而不是在清单中设置它.这有助于避免意外发布带有调试信息的应用程序. (7认同)
  • 不起作用2015,build.gradle put buildTypes {debug {debuggable true (2认同)
  • 这是我的工作。我将其放入清单中 &lt;application android:debuggable="true"&gt; &lt;/application&gt; 并调试完美。谢谢 (2认同)

Joh*_*ith 27

另外要注意的事情(我这样做,所以我知道,呃).一定不要启用Proguard进行调试!

  • 谢谢,不得不将minifyEnabled设为false,将shrinkResources设为false (4认同)

Ada*_*hns 16

即使在Android Studio中多次调试后,我也随机出现了这个问题.有一天调试器就不会附加了.我只是不得不退出Android Studio并重新打开它,调试器又开始工作了.


lim*_*lim 14

这对我有用:

  1. 关闭Android Studio.
  2. 打开shell,然后写:

    adb kill-server

    adb start-server


itz*_*tzo 13

    <application android:debuggable="true">
</application>
Run Code Online (Sandbox Code Playgroud)

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

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

调试模式

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

现在尝试调试.谢谢


小智 11

确保已启用ADB集成.

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


Mia*_*007 10

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

  1. 禁用并启用USB debug手机中的开关.
  2. 卸载您的应用程序.
  3. 单击在Android Studio中运行.


Har*_*rri 8

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


小智 7

如果您在清单文件中设置自定义"android:process",则应使用"将调试程序附加到Android进程"图标.
在我的情况下,我应该选择合适的过程,然后在出现"Wait for debugger"对话框后单击OK按钮.
在此输入图像描述


Kyl*_*leT 6

这偶尔发生在我身上,我还没弄明白为什么.已经发布的解决方案都没有对我有用.唯一对我有用的是:

  1. 从设备卸载应用程序.
  2. 清洁项目."建设 - >清洁项目."
  3. 重建并安装.


Met*_*ete 6

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

在此输入图像描述


Coo*_*ind 5

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

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

buildTypes {
    debug {
        minifyEnabled true
Run Code Online (Sandbox Code Playgroud)

将它们更改为:

buildTypes {
    debug {
        minifyEnabled false
        debuggable true
Run Code Online (Sandbox Code Playgroud)

然后使用“将项目与 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'
}
Run Code Online (Sandbox Code Playgroud)

更新

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

打开AndroidManifest并找到标签<application>。Nearandroid:name=是对 Application 类的引用。开这个班。使用以下扩展 Application 类MultiDexApplication

public class MyApplication extends MultiDexApplication { ... }
Run Code Online (Sandbox Code Playgroud)

如果没有设置 Application 类,请这样写:

<application
        android:name="android.support.multidex.MultiDexApplication" >
    ...
</application>
Run Code Online (Sandbox Code Playgroud)