web-dev-qa-db-ja.com

Android studio gradleブレークポイント行に実行可能コードが見つかりません

Android Android Studio 2.1.3およびgradleを使用してアプリケーションを開発しています。

問題は、アプリケーションのデバッグ中に条件が満たされるため、単純なメソッドのブレークポイントにヒットする必要がありますが、ブレークポイントにヒットしないことです。
まず、問題はこの質問の答えに記載されている問題に関連していると考えました。 gradleを使用してライブラリプロジェクトをビルドする場合、BuildConfig.DEBUGは常にfalse

これをテストするために、ライブラリプロジェクトを削除し、すべてのソースコードをメインアプリモジュールに統合しました。何も解決しませんでした。以下はbuild.gradleであり、デバッグ/リリースの両方でminifyがfalseに設定されていることに注意してください。

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が私に見せてくれるスクリーンショットです:

No executable code found problem

これも唯一のケースではありません。コンパイラーは、ステップオーバー中に、デバッグされている部分とはまったく別の部分にジャンプします。

ここに合理的な説明はありますか?サスペンド:「thread」と「all」が同じ結果を試みました。

UPDATE 1:Eclipseを使用してプロジェクトを再作成すると、すべてが正常に機能します。 Android studioを使用してもこれが機能しない理由はまだ驚くべきことです!

17
XMight

Eclipseを使用してアプリケーションを再作成し、正しい動作を観察した後、Android Studioに戻り、見落としたオプションがあるかどうかを確認しました。

[ファイル]-> [設定]のすべてのオプションを試してみたところ、インスタントランは私にとって非常に貴重な時間を無駄にする悪であるという結論に達しました。

私はそれが私の問題とどのように関係しているか理解していませんが、すべてのチェックボックスをクリアした後:

enter image description here

開発者が期待する方法を実行するコードになりました。

enter image description here

8
XMight
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を設定します。

23
vinod

私は同様の問題に直面していました。

私はもう試した:

  • プロジェクトのクリーニング
  • リセットAndroid Studio
  • プロジェクトの再構築
  • インスタントランの無効化

うまくいきませんでした。

最後にそれを機能させるためにやったことは Ctrl+Shift++。これは、すべてのコードブロックを展開するためのショートカットです。その後、プロジェクトを実行したところ、うまくいきました。

3
Raza

プロジェクトをクリーンアップして再構築してください。このメソッドでログを作成して、実行されているかどうかを確認してください。

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

再起動Android Studio

以前は動作していたため、これを引き起こす可能性のある変更は何もなかったことがわかっている場合。次に、Android Studioを閉じて再起動します。Android Studio 3.5でうまくいきました。

クリーンビルドが機能しませんでした

0
HBB20