【问题标题】:IntelliJ dont stop in breakpoints when debugging android application调试android应用程序时IntelliJ不会在断点处停止
【发布时间】:2015-04-19 07:45:12
【问题描述】:

我将调试器连接到我的模拟器,idea 控制台说:

Connected to the target VM, address: localhost:8612,transport:`socket` 

但是当我想测试我的应用程序时,它不会在断点处停止! 看这个屏幕截图:

还有这个:

我用模拟器和物理设备测试它,还重建项目并重新启动想法!但不起作用。

【问题讨论】:

  • 能否告诉接口名称有onListItemSelected(long itemId)方法?
  • 请把代码贴在你调用_onListItemSelected(itemId)的地方; _
  • 截图代码是否来自你项目的外部依赖?如果是,可能依赖源和编译代码不同步?
  • 不!它是我的代码!我不确定问题出在哪里,用 intelij idea 13 和 14 以及不同的 porject 都试过了!但不起作用:/
  • @y.feizi 这个方法在任何库中还是你的项目代码本身?某种意义上的库,无论您是使用自己创建的 lib 还是添加到 libs 文件夹或与 gradle 同步?

标签: android debugging intellij-idea


【解决方案1】:

设置断点

your_view.setOnListItemSelectedListener();

和 OnListItemSelected 中的 if(...)

【讨论】:

  • 我根本不工作!我重新安装了 IDE,但没有任何变化
  • 您可以在模拟器或设备上测试您的应用程序吗?
【解决方案2】:

首先,确保您的 IntellJ IDEA 实例是最新的,最近有几个与此相关的错误修复。 (例如:https://youtrack.jetbrains.com/issue/IDEA-81769

否则:

如果设置了 android:process 这可能是您的问题: https://youtrack.jetbrains.com/issue/IDEA-64456

否则,您可能会遇到此处描述的问题: https://youtrack.jetbrains.com/issue/IDEA-95721

不幸的是,第二个链接还缺乏 IntellJ 团队的任何具体帮助。一种解决方法是暂时使用 Eclipse 进行调试,尽管这有点糟糕。

【讨论】:

    【解决方案3】:

    断点信息中有“Suspend all”提示,表示IDE会跳过所有断点,需要关闭(一般在调试窗口某处有暂停断点的按钮)

    或者可能是构建类型。你检查了你的构建,它是调试的吗?

    【讨论】:

      【解决方案4】:

      您是否有机会为您的构建激活了 ProGuard?尝试将其关闭。它可能会破坏您的断点。

      也试试:

      • 构建 -> 干净构建
      • 文件 -> 使缓存无效/重新启动

      【讨论】:

        【解决方案5】:

        阅读这些类似的问题

        Can't reach some lines debugging android app

        Cannot set Java breakpoint in Intellij IDEA

        你所有的断点都不能工作

        这可能是你的构建 gradle 文件中的代码收缩引起的,你可以在你的项目根目录中找到它 build.gradle(APP Name)。确保 buildType 下的 minifyEnable 设置为 false。

        buildTypes {
            release {
                minifyEnabled true
                shrinkResources true
                proguardFiles getDefaultProguardFile('proguard-android.txt')
            }
            debug {
                debuggable true
                minifyEnabled false // set this to false
                proguardFiles getDefaultProguardFile('proguard-android.txt')
            }
        }
        

        有些断点可以工作,但有些不能

        按照步骤操作。

        1. 如果您使用的是 Maven 依赖项,请转到 Maven 项目 -> 刷新
        2. 如果这不起作用,请尝试顶部菜单 --> 构建 --> 重建项目
        3. 如果还是不行,试试顶部菜单 --> 文件 --> 使缓存无效/重启

        【讨论】:

          猜你喜欢
          • 2015-07-17
          • 1970-01-01
          • 2014-10-29
          • 2011-07-14
          • 2023-03-06
          • 1970-01-01
          • 1970-01-01
          • 2019-08-16
          • 2013-09-26
          相关资源
          最近更新 更多