コンソールにデバッグステートメントが表示されていますが、デバッガーがブレークポイントで停止しません。すべてのブレークポイントをクリアして追加し直してみました。これがどのように発生するかはわかりませんが、実際に発生しています。
AndroidManifestでデバッグ可能なフラグを設定しましたか?それを見逃した場合は、アプリケーションタグにAndroid:debuggable = "true"を追加してください。最終的には次のようになります。
<application Android:icon="@drawable/icon" Android:label="@string/app_name" Android:debuggable="true">
Android studio)を使用する場合は、debug app
ではなくrun app
をクリックしてください。
この回答 によると、アプリモジュールのbuild.gradle
内で、ビルドバリアントのminifyEnableを無効にし、falseに変更します。次に、次のようになります。
minifyEnabled false
それ以外の場合は、ブレークポイントマーカーにカーソルを合わせると、Line number not available in class xxxx
が表示され、それらに十字が表示されます。
私の場合、「デバッガーをAndroidプロセスに接続」」をクリックします
また、「プロセスの選択」というウィンドウが表示されます。使用しているデバイスを選択し、デバッグするプロジェクトを選択します。そしてそれは機能します。
デバッガーを最初に開いたときに、デバッガーをデバイスに再接続する必要がある場合があります。
Mute Breakpoints
誤って有効にされています。アイコンは次のようになります。「名前を付けて実行」の代わりに「名前を付けてデバッグ-> Androidアプリケーション」を実行しましたか?
「名前を付けてデバッグ」を実行した場合にのみ、Eclipseはブレークポイントで停止します。
私の場合、アプリはAndroidManifestで_Android:process=":service"
_を使用して別のプロセスでサービスを作成しました。そのため、デバッガーがメインアプリプロセスに自動的に接続されている間に、サービスプロセスコードにブレークポイントを設定していました。私はかなり愚かですが、それは他の誰かを助けるかもしれません。
_Run > Attach Debugger To Android Process
_を使用してサービスプロセスに接続し、サービスプロセスを選択します。手動で時間内にアタッチできない場合は、サービスプロセスコードにAndroid.os.Debug.waitForDebugger();
を追加する必要がある場合があります。
私の知る限り、実行する前にAndroid StudioまたはIntelliJに別のプロセスに接続するように自動的に指示する方法はありません。
build type
にbuild.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'
}
}
同じ問題が発生し、デバッガーのタイムアウト値を増やすことで解決しました。エミュレーターは私の開発ボックスの犬のように遅いので、デバッガーがブレークポイントをキャッチして停止するのを妨げていました。タイムアウト値をそれぞれ3000から10000および20000から60000に変更しましたが、すべて問題ありません。
V。