it-swarm.com.de

Android studio gradle breakpoint Bei Zeile wurde kein ausführbarer Code gefunden

Ich entwickle eine Android-Anwendung mit Android Studio 2.1.3 und Gradle.

Das Problem ist, dass der Haltepunkt in einer einfachen Methode niemals getroffen wird, obwohl er getroffen werden muss, da die Bedingung während des Anwendungsdebugging erfüllt wird.
Zuerst dachte ich, dass das Problem mit dem in der Antwort auf diese Frage beschriebenen Problem zusammenhängt: BuildConfig.DEBUG ist immer falsch, wenn Bibliotheksprojekte mit gradle erstellt werden.

Um dies zu testen, entfernte ich das Bibliotheksprojekt und baute meinen gesamten Quellcode in das Hauptanwendungsmodul ein. Es wurde nichts gelöst .. Beachten Sie, dass Folgendes das build.gradle ist, wobei minify für beide Debug/Releases auf false gesetzt ist:

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'  
}

Hier ist der Screenshot mit dem, was mir Android Studio zeigt:

No executable code found problem

Dies ist auch nicht der einzige Fall. Es kommt vor, dass der Compiler während des Sprunges zu einem anderen Teil des Codes springt, als zu debuggen.

Gibt es hier eine vernünftige Erklärung? Suspend: "Thread" und "All" haben versucht, dasselbe Ergebnis.

UPDATE 1: Das Projekt wurde mit Eclipse neu erstellt, und alles funktioniert einwandfrei . Es ist immer noch erstaunlich, warum Android Studio nicht funktioniert!

13
XMight

Nachdem ich die Anwendung mit Eclipse neu erstellt und das korrekte Verhalten beobachtet hatte, kehrte ich zu Android Studio zurück, um zu überprüfen, ob es eine Option gibt, die ich vermisst habe. 

Nachdem ich alle Optionen aus dem Menü Datei -> Einstellungen ausprobiert hatte, kam ich zu dem Schluss, dass Instant Run das Übel ist, das mich veranlasst hat, so viel kostbare Zeit zu verschwenden. 

Ich verstehe nicht, wie es mit meinem Problem zusammenhängt, aber nach dem Deaktivieren aller Kontrollkästchen:

 enter image description here

Ich habe einen Code erhalten, der so abläuft, wie ich es als Entwickler erwartet habe:

 enter image description here

6
XMight
buildTypes {

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

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

}

}

Setzen Sie minifyEnabled auf false im Debugblock in der Datei build.gradle.

17
vinod

Ich hatte ein ähnliches Problem.

Ich habe es versucht:

  • Projekt bereinigen
  • Android Studio zurücksetzen
  • Projekt neu erstellen
  • Instant Run deaktivieren

und es hat nicht funktioniert.

Alles, was ich am Ende getan habe, um es zum Laufen zu bringen, war Ctrl+Shift++. Das ist die Abkürzung zum Erweitern aller Codeblöcke. Ich habe das Projekt danach einfach ausgeführt und es hat funktioniert.

3
Raza

versuchen Sie, das Projekt zu reinigen und neu aufzubauen. Versuchen Sie, ein Protokoll in dieser Methode zu erstellen, um zu prüfen, ob sie ausgeführt wird.

LOG.(TAG,"method being executed")
0
Chenmin

Neustart Android Studio

Wenn Sie wissen, dass nichts geändert wurde, kann dies dazu führen, dass es zuvor funktioniert hat. Versuchen Sie es dann durch Schließen und Neustarten von Android Studio. Das hat bei mir bei Android Studio 3.5 Funktioniert.

Clean Build hat bei mir nicht funktioniert

0
HBB20