2011-12-05 9 views
0

私は2つのアンドロイドプロジェクトを持っています:SDKを実装したライブラリプロジェクトと、通常のアンドロイドアプリであるテストアプリケーション(そしてsdk jarを使用しています)です。 SDKプロジェクトには、JNIを使​​用して呼び出すネイティブコードが含まれています。 eclipseでJNIネイティブコードのデバッグを有効にしようとしています。私はndk r7をインストールしました。私はこのチュートリアルに従いました: http://www.eclipse.org/sequoyah/documentation/native_debug.phpwith android ndk-gdbの問題

ndk-gdbを実行しようとすると止まっています。

$ ndk-gdb --adb=/cygdrive/C/android-sdk/platform-tools/adb.exe --verbose 
/cygdrive/c/android-ndk-r7/build/core/ndk-common.sh: eval: line 538: syntax error near unexpected token `(' 
/cygdrive/c/android-ndk-r7/build/core/ndk-common.sh: eval: line 538: `ADB_CMD=/cygdrive/c/Program Files (x86)/Android/android-sdk/platform-tools/adb' 
/cygdrive/c/android-ndk-r7/build/core/ndk-common.sh: line 538: warning: syntax errors in . or eval will cause future versions of the shell to abort as Posix requires 
Android NDK installation path: /cygdrive/c/android-ndk-r7 
Using specific adb command: /cygdrive/C/android-sdk/platform-tools/adb.exe 
ADB version found: Android Debug Bridge version 1.0.29 
Using final ADB command: '/cygdrive/C/android-sdk/platform-tools/adb.exe' 
Using auto-detected project path: . 
Found package name: com.nuance.vbserver 
ABIs targetted by application: armeabi armeabi-v7a 
Device API Level: 10 
Device CPU ABIs: armeabi-v7a armeabi 
Compatible device ABI: armeabi-v7a 
Found debuggable flag: true 
ERROR: Non-debuggable application installed on the target device. 
     Please re-install the debuggable version! 

答えて

0

アプリの一部がデバッグシンボルなしでリリースモードで構築されたようです。デバッグモードで再構築してみてください。あなたのmakefileがなければ、これを行う方法を正確に説明するのは難しいですが、this webpageは、セットアップ方法に関するステップバイステップの説明があります。

+0

をコンパイルするためのコマンド。私はまた、Eclipseでセクショアプラグインを介してビルドしています。必要なファイルを作成するように指示したら、ここに貼り付けます。 – barisdad

+0

ところで、これはNDKに付属のawkツールを削除した後に起こりました。私はそれを復元したので、それはeclpise構築能力を破った。 Android NDK:ホスト 'awk'ツールが古くなっています。 HOST_AWKをGawkまたはNawkを指すように定義してください! – barisdad

+0

あなたは正しいです。私は手動ですべてのオブジェクトファイルを削除し、再コンパイルし、それは働いた。 – barisdad

0

使用「NDK-構築NDK_DEBUG = 1」は、私は同じENVで私のJavaコードと自分のネイティブコードを実行できるように日食を経由してそれを設定しようとしていますあなたのコード

+0

AndroidManifest.xml内のアプリケーションタグにandroid:debuggable = "true"が含まれていることを確認してください – Yenchi