Android studio gradle 断点处未找到可执行代码

Android studio gradle breakpoint No executable code found at line

我正在使用 Android Studio 2.1.3 和 gradle 开发一个 android 应用程序。

问题是简单方法中的断点永远不会命中,尽管它必须命中,因为在应用程序调试期间满足条件。
首先,我认为这个问题与这个问题的答案中描述的问题有关: BuildConfig.DEBUG always false when building library projects with gradle

为了对此进行测试,我删除了库项目并将所有源代码集成到主应用程序模块中。它什么也没解决。 需要注意的是,下面是 build.gradle,其中 minify 设置为 false for both debug/release:

apply plugin: 'com.android.application'  

android {  
    compileSdkVersion 23  
    buildToolsVersion "23.0.2"  
    defaultConfig {  
        applicationId "com.mycompany.mymobileapp"  
        minSdkVersion 21  
        targetSdkVersion 21  
        versionCode 1  
        versionName "1.0"  
    }  
    buildTypes {  
        release {  
            minifyEnabled false  
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'  
            debuggable true  
            jniDebuggable true  
            renderscriptDebuggable true  
            zipAlignEnabled false  
        }  
        debug {  
            debuggable true  
            minifyEnabled false  
            zipAlignEnabled false  
            jniDebuggable true  
            renderscriptDebuggable true  
        }  
    }  
    productFlavors {  
    }  
}  
  
dependencies {  
    compile fileTree(include: ['*.jar'], dir: 'libs')  
    testCompile 'junit:junit:4.12'  
    testCompile 'org.mockito:mockito-core:2.0.5-beta'  
    testCompile 'com.android.support:support-v4:23.1.1'  
    testCompile 'org.powermock:powermock-api-mockito:1.6.2'  
    testCompile 'org.powermock:powermock-module-junit4-rule-agent:1.6.2'  
    testCompile 'org.powermock:powermock-module-junit4-rule:1.6.2'  
    testCompile 'org.powermock:powermock-module-junit4:1.6.2'  
    compile 'com.android.support:appcompat-v7:23.1.1'  
}

这是 Android Studio 向我显示的屏幕截图:

这也不是唯一的案例。碰巧编译器在单步执行时完全跳转到代码的另一部分而不是被调试的部分。

这里有什么合理的解释吗? 暂停:"thread" 和 "all" 已尝试,结果相同。

更新 1: 使用 Eclipse 重新创建项目,一切正常。 仍然很奇怪为什么使用 Android studio 这不起作用!

尝试清理并重建项目。 尝试在此方法中进行一些登录以检查它是否正在执行。

LOG.(TAG,"method being executed")

在使用 Eclipse 重新创建应用程序并观察到正确的行为后,我返回到 Android Studio 以检查是否有任何我遗漏的选项。

在尝试了文件 -> 设置中的所有选项后,我得出的结论是 Instant 运行 是导致我浪费如此多宝贵时间的罪恶。

我不明白它与我的问题有什么关系,但清除所有复选框后:

我最终得到了一个代码,它按照我作为开发人员所期望的方式执行:

buildTypes {

release {
    minifyEnabled true
    shrinkResources true
    proguardFiles getDefaultProguardFile('proguard-android.txt')

}
debug {
    debuggable true
    minifyEnabled false
    proguardFiles getDefaultProguardFile('proguard-android.txt')

    }
}

在 build.gradle 文件的调试块中设置 minifyEnabled false

我遇到了类似的问题。

我试过:

  • 清理项目
  • 正在重置 Android Studio
  • 重建项目
  • 禁用即时 运行

但没用。

我最后所做的就是Ctrl+Shift++.这是展开所有代码块的捷径。我只是 运行 之后的项目并且成功了。

重启Android Studio

如果您知道没有任何更改会导致此问题,因为它之前可以正常工作。然后尝试关闭并重新启动 Android Studio。这对我有用 Android Studio 3.5

干净的构建对我不起作用

在测试设备上卸载和安装应用程序解决了我的问题。

我试过了:

  • Cleaning/rebuilding 项目
  • 正在重置 Android Studio,清理缓存
  • 将调试器设置为在所有线程上停止
  • 我的调试变体中没有 minifyEnabled。

从 Android Studio 3.6 开始,禁用 Instant 运行 不是一个选项 所以我没有尝试。

工作室缓存有问题。
File -> Invalidate Caches / Restatrt... 可能对你有帮助。

确保您没有拼错文件名和 class 名称。

我遇到了和你一样的问题。我认为这是出于某种原因在我清理我的代码时发生的,我正在折叠我的一些代码块。

解决方法是使用快捷键CTRL + SHIFT + +展开所有我的代码块,然后单击 文件>无效化 Caches/Restart...

我正在使用 Android Studio Arctic Fox | 2020.3.1 和 build:gradle:4.1.3

我遇到了类似的问题。

在你的文件中添加build.gradle

DEV {
      initWith debug
    }