Android StudioはC++コードのブレークポイントで停止しません、これは私がこれまでにやったことです:
AndroidManifest.xmlで:
Android:debuggable="true"
Build.gradleで(これが問題になる可能性があります):
sourceSets.main {
jniLibs.srcDir 'src/main/libs'
jni.srcDirs = []
}
task ndkBuild(type: Exec) {
commandLine Android.ndkDirectory.getAbsolutePath() + '\\' + 'ndk-build.cmd', '-C', file('src/main/jni').absolutePath, 'NDK_DEBUG=1'
}
tasks.withType(JavaCompile) {
compileTask -> compileTask.dependsOn ndkBuild
}
Android Studioでネイティブアプリケーションとしてアプリケーションを構成しました
C++コードにブレークポイントを配置する
アプリをデバッグする
これは、「ネイティブデバッグセッションの起動」と言っているため、機能しているようです。さらに、停止ボタンでアプリを一時停止できますが、ブレークポイントは機能していません。
ご協力ありがとうございました
Build.gradleの構文では、 gradleの実験的なプラグイン を使用していないように見えます。これがないと、Androidでネイティブc/c ++をデバッグできません= studio詳細については、こちらをお読みください: Android NDK Preview
「実行」->「デバッグ構成」「デバッガー」タブで、「ネイティブ」として「デバッグの種類」を選択します。 「起動前」のフィールドで、Android studioが競合を報告した場合、「修正」の推奨事項を受け入れます。Android studioはlldbライブラリをダウンロードします。
「デバッグ」下部をクリックして、デバッガーがプロセスにアタッチされるまで待ちます。
これで、デバッグウィンドウで変数を確認できます。
[〜#〜] lldb [〜#〜] をインストールすると、ネイティブ/デュアルデバッグが利用可能になります。
まだ探している場合、Android Studioはndk-buildとCMakeプロジェクトの直接統合のサポートを最近追加しました: http://tools.Android.com/tech-docs/external-c-builds
よろしく、ジョモ
これを試すことができます:
1. app/build.gradleで:
依存関係ラベルで:
releaseCompile project(path:':youModuleName',configuration:'release')
debugCompile project(path:':youModuleName',configuration:'debug')
2. in youModule/build.gradle:
at Android label:
publishNonDefault true
デモ:
Android Studio 3
Android Studio 3では、プロセス全体が簡単になります。
開始するには、次のようなシンプルなサンプルアプリを手に入れてください: https://github.com/googlesamples/Android-ndk/tree/2020d9674a6601e8219eed2921f5028beb856a24/hello-gl2/
次に、C++またはJavaのいずれかにブレークポイントを設定し、実行:実行>デバッグ
また、 ネイティブ呼び出し from Javaに進み、C++コードに入ることができます。