web-dev-qa-db-ja.com

androidデバッガーはブレークポイントで停止しません

コンソールにデバッグステートメントが表示されていますが、デバッガーがブレークポイントで停止しません。すべてのブレークポイントをクリアして追加し直してみました。これがどのように発生するかはわかりませんが、実際に発生しています。

22
Androider

AndroidManifestでデバッグ可能なフラグを設定しましたか?それを見逃した場合は、アプリケーションタグにAndroid:debuggable = "true"を追加してください。最終的には次のようになります。

<application Android:icon="@drawable/icon" Android:label="@string/app_name" Android:debuggable="true">
10
user658042

Android studio)を使用する場合は、debug appではなくrun appをクリックしてください。

enter image description here

27
Allen

この回答 によると、アプリモジュールのbuild.gradle内で、ビルドバリアントのminifyEnableを無効にし、falseに変更します。次に、次のようになります。

minifyEnabled false

それ以外の場合は、ブレークポイントマーカーにカーソルを合わせると、Line number not available in class xxxxが表示され、それらに十字が表示されます。

8
VSB

私の場合、「デバッガーをAndroidプロセスに接続」」をクリックします

また、「プロセスの選択」というウィンドウが表示されます。使用しているデバイスを選択し、デバッグするプロジェクトを選択します。そしてそれは機能します。

デバッガーを最初に開いたときに、デバッガーをデバイスに再接続する必要がある場合があります。

7
Kaz

Android Studio:

  • オプションがMute Breakpoints誤って有効にされています。アイコンは次のようになります。

Android debug toolbar

Eclipseの場合:

  • オプション "Skip All Breakpoints"が誤って有効になっていないか確認してください。次のツールバーの最後のアイコンです skip-all icon

Eclipse toolbar

7
Kushal

「名前を付けて実行」の代わりに「名前を付けてデバッグ-> Androidアプリケーション」を実行しましたか?

「名前を付けてデバッグ」を実行した場合にのみ、Eclipseはブレークポイントで停止します。

4
tmin

私のために働いた解決策:

  • 単にアプリをアンインストールデバイスから(手動でデバイスに) )そしてデバッグを再試行してください(!)
4
TT--

私の場合、アプリはAndroidManifestで_Android:process=":service"_を使用して別のプロセスでサービスを作成しました。そのため、デバッガーがメインアプリプロセスに自動的に接続されている間に、サービスプロセスコードにブレークポイントを設定していました。私はかなり愚かですが、それは他の誰かを助けるかもしれません。

_Run > Attach Debugger To Android Process_を使用してサービスプロセスに接続し、サービスプロセスを選択します。手動で時間内にアタッチできない場合は、サービスプロセスコードにAndroid.os.Debug.waitForDebugger();を追加する必要がある場合があります。

私の知る限り、実行する前にAndroid StudioまたはIntelliJに別のプロセスに接続するように自動的に指示する方法はありません。

0
georgiecasey

build typebuild.gradleを追加した場合は、debuggable trueがあることを確認してください

buildTypes {
    debug {
        debuggable true
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-Android-optimize.txt'), 'proguard-rules.pro'
    } 

    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-Android-optimize.txt'), 'proguard-rules.pro'
    }
}
0
Mojtaba Haddadi

同じ問題が発生し、デバッガーのタイムアウト値を増やすことで解決しました。エミュレーターは私の開発ボックスの犬のように遅いので、デバッガーがブレークポイントをキャッチして停止するのを妨げていました。タイムアウト値をそれぞれ3000から10000および20000から60000に変更しましたが、すべて問題ありません。

V。

0
Vincent L.