Linux および Android NDK 用の Android SDK バンドルをダウンロードしました。ADTをインストールしたので、CDTをインストールしました。
Android プロジェクトを作成し、ネイティブ サポート (jni) を追加しました。次に、C++ コードでエクスポートするネイティブ関数を Java コードで記述しました。C++ コードで、この関数を定義しました。
Java コード:
static {
System.loadLibrary("test");
}
private native String get_text_from_cpp();
C++ コード (h):
extern "C"{
JNIEXPORT jstring JNICALL Java_com_example_test_MainActivity_get_1text_1from_1cpp(JNIEnv *, jobject);
}
C++ コード (cpp):
JNIEXPORT jstring JNICALL Java_com_example_test_MainActivity_get_1text_1from_1cpp(JNIEnv * env, jobject){
return env->NewStringUTF( "hello from C++" );
}
コードはエラーなしで機能します。しかし、C++ コードでブレークポイントを設定すると、ヒットしません。
build-nkd NDK_DEBUG = 1 - 含まれています
この指示に従いましたhttp://tools.android.com/recent/usingthendkplugin
jni/ の Android.mk には LOCAL_CFLAGS があります := -g
非常に多くの情報を読みましたが、Eclipse をカスタマイズできませんでした。誰か助けてください。
PS: 私の英語が母国語でなくてすみません。私は書くのが苦手です。
追加: コンソールでのデバッグ中にも次のように表示されます。 search-path" または "set sysroot"? 警告: 動的リンカー ブレークポイント関数が見つかりません。GDB は最終的に再試行します。一方、GDB は共有ライブラリ初期化子をデバッグできないか、dlopen() の後に保留中のブレークポイントを解決できない可能性があります。