2

私は、ndk サンプルの hello-jni の C コードをデバッグするために、ほぼ 1 週間試みてきましたが、うまくいきませんでした。これを行う方法について多くのチュートリアル/ブログ投稿をたどろうとしましたが、やはりうまくいきませんでした.

たとえば、このチュートリアルに従う場合: http://mhandroid.wordpress.com/2011/01/23/using-eclipse-for-android-cc-debugging/、ndk- gdb それは言う:「cp:`.libs/armeabi/gdb.setup'を統計できません:そのようなファイルまたはディレクトリはありません」

多くのチュートリアルで説明されているように、ndk-gdb の最後の行をコメントアウトしました。

これは、cygwin から ndk-gdb を実行したときに得られるものです。

$ /cygdrive/d/data/klr200/construction/software/local/pc/android-ndk-r8d/ndk-gdb-eclipse --project=/cygdrive/d/data/klr200/construction/software/local/pc/ android-ndk-r8d/samples/hello-jni --verbose --force --adb=/cygdrive/d/data/klr200/construction/software/local/pc/android-sdk/platform-tools/adb.exe

Android NDK インストール パス: /cygdrive/d/data/klr200/construction/software/local/pc/android-ndk-r8d
特定の adb コマンドを使用: /cygdrive/d/data/klr200/construction/software/local/pc/android -sdk/platform-tools/adb.exe
見つかった ADB バージョン: Android Debug Bridge バージョン 1.0.31
ADB フラグの
使用: 指定されたプロジェクト
パスの使用: /cygdrive/d/data/klr200/construction/software/local/pc/android-ndk -r8d/samples/hello-jni 検出
されたパッケージ名: com.example.hellojni
アプリケーションが対象とする ABI: armeabi
デバイス API レベル: 10
デバイス CPU ABI: armeabi
互換デバイス ABI: armeabi
gdb を使用 setup init: ./libs/armeabi/gdb 。設定

ツールチェーン プレフィックスの使用 : /cygdrive/d/data/klr200/construction/software/local/pc/android-ndk-r8d/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/bin/arm-linux-androideabi-アプリ出力ディレクトリ: ./obj/local/armeabi 検出
されたデバッグ可能フラグ: true
検出されたデバイス gdbserver: /data/data/com.example.hellojni/lib/gdbserver 検出
されたデータ ディレクトリ: '/data/data/com.example.hellojni'
実行中の PID が見つかりました: 351
既存のデバッグ セッションを終了してい
ます コマンド: adb_cmd shell kill -9 496
[1] run-as com.examp を終了しました...
gdbserver を正常に起動しました。
ネットワーク リダイレクトのセットアップ
コマンド: adb_cmd shell run-as com.example.hellojni lib/gdbserver +debug-socket --attach >351
コマンド: adb_cmd forward tcp:5039 localfilesystem:/data/data/com.example.hellojni/debug-socket
コマンド: adb_cmd pull /system/bin/app_process obj/local/armeabi/app_process
添付; pid = 351
Unix ソケットでリッスンする debug-socket
16 KB/秒 (0.329 秒で 5660 バイト)
デバイス/エミュレーターから app_process をプルしました。
コマンド: adb_cmd pull /system/bin/linker obj/local/armeabi/linker
48 KB/秒 (0.786 秒で 39404 バイト)
デバイス/エミュレーターからリンカーをプルしました。
コマンド: adb_cmd pull /system/lib/libc.so obj/local/armeabi/libc.so
77 KB/秒 (3.468 秒で 273868 バイト)
libc.so をデバイス/エミュレーターからプルしました。
cp: `./libs/armeabi/gdb.setup' を stat できません: そのようなファイルまたはディレクトリはありません

app_process がどこにも見つかりません (これが非常に重要であることは理解しています)。プロジェクト ディレクトリ.../libs/armeabi を見ると、gdb.setup ファイルがあります。

私は使用しています:

  • Android NDK r8d
  • Android SDK 21.1
  • CDT 8.1.1 を使用した Eclipse Juno
  • 最新のシグウィン
  • Windows 7 32 ビット
4

1 に答える 1

0

それを見つけた!引数 project="project path" は大文字と小文字が区別されるため、プロジェクト パスを修正すると、すべてが完全に実行されます。

于 2013-02-21T18:04:27.747 に答える