4

ndk-gdb を機能させようとしていますが、いくつか問題があります。

私のプロジェクト構造は次のようなものです:

trunk
--indiana (Here is the android_manifest)
--ubravo_java
----mbravo (here is the native code)
------jni  (here are the Android.mk and Application.mk)

質問 1: マニフェストが正しい場所にあるディレクトリから ndk-gdb を実行する必要があることを理解していますか? または、ndk-gdb コマンドに --project パラメーターを指定します。

したがって、次のように ndk-gdb を起動しようとすると:

ndk-gdb --start --force --verbose --project=/home/johan/projects/indiana2/trunk/indiana

この出力は、android_manifest ファイルが配置されているメイン プロジェクトのサブフォルダーで直接 Android.mk を見つけようとしていることを示していますが、間違っている可能性があります。

Android NDK installation path: /home/johan/android-ndk-r7
Using default adb command: /home/johan/android-sdk-linux/platform-tools//adb
ADB version found: Android Debug Bridge version 1.0.29
Using final ADB command: '/home/johan/android-sdk-linux/platform-tools//adb'
Using specified project path: /home/johan/projects/indiana2/trunk/indiana
Found package name: net.genaker.indiana
/home/johan/android-ndk-r7/build/core/add-application.mk:133: *** Android NDK: Aborting...    .  Stop.
ABIs targetted by application: Android NDK: Your APP_BUILD_SCRIPT points to an unknown file: ./jni/Android.mk    
Device API Level: 10
Device CPU ABIs: armeabi-v7a armeabi
ERROR: The device does not support the application's targetted CPU ABIs!
       Device supports:  armeabi-v7a armeabi
       Package supports: Android NDK: Your APP_BUILD_SCRIPT points to an unknown file: ./jni/Android.mk

Application.mk の APP_BUILD_SCRIPT パスは次のようになります。

APP_BUILD_SCRIPT := $(APP_PROJECT_PATH)/jni/Android.mk

しかし、ここでは APP_PROJECT_PATH が何を指しているのかわかりません。/home/johan/projects/... などのように Android.mk ファイルへのフルパスをハードコーディングしようとしましたが、それでもエラーが発生します:

APP_BUILD_SCRIPT が不明なファイルを指しています: ./jni/Android.mk

私のApplication.mkを見ていないように、パスは変更されていないようです。

完全なトランク ディレクトリで APP_PROJECT_PATH への参照を検索しようとしましたが、このパラメーターはこの Application.mk のこのフォルダーでのみ定義されています。マニフェスト ファイルを含むフォルダーの直下に /jni フォルダーをサブフォルダーとして配置しなくても、プロジェクトを作成してデバッグできると思いますか?

デバッグを機能させる方法についてのヒントをいただければ幸いです。

4

1 に答える 1

3

私は今日同じ問題に遭遇しました。私の解決策は、build-native.sh の前に以下のスクリプトを実行することです: export NDK_PROJECT_PATH=[your project folder]/android (絶対パスを使用する必要があることに注意してください)

そして、それは機能します。Application.mk で APP_PROJECT_PATH をハードコーディングできると思いますが、同じである必要があります。

于 2012-05-24T03:38:13.737 に答える