Ndk-buildコマンドを実行すると、次のエラーが表示されます。
Android NDK: Could not find application project directory !
Android NDK: Please define the NDK_PROJECT_PATH variable to point to it.
Android.mkファイルの内容:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := FRE
LOCAL_SRC_FILES := FlashRuntimeExtensions.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := NativeQCAR
LOCAL_SRC_FILES := main.c
LOCAL_SHARED_LIBRARIES := FRE
include $(BUILD_SHARED_LIBRARY)
次の行を追加しても役に立ちません。
NDK_PROJECT_PATH = C:/Users/Wessel/Dropbox/workspace/Eclipse/NativeQ
次のコマンドを使用できます
ndk-build -C your_project_path
これがあなたの質問に答えることを願っています。
NDK_PROJECT_PATH
は環境変数なので、Android.mk
ファイルに含める必要はありません。 nkd-build
はプロジェクトディレクトリで起動されますか?
詳細については、私が読んだNDKフォルダのdocs/HOWTO.html
のドキュメントを読んでください
NDK r4以降では、ファイルを$ PROJECT/jni /に配置し、プロジェクトツリーから「ndk-build」スクリプトを起動するだけです。
「ndk-build」を使用するが、ファイルを別の場所に配置する場合は、GNUを使用して変数を次のようにオーバーライドします。
ndk-build NDK_APPLICATION_MK=/path/to/your/Application.mk
満足できる単一の答えは見つかりませんでした。おそらく、既存のアプリケーションを構築しようとしているのか、新しいアプリケーションを作成しようとしているのか、または既存のネイティブアプリを移植しようとしているのかによって異なります。これらのガイドラインはAndroid-ndk-r9bで機能しますが、最新のリリースでも機能するはずです
Ndk-buildによって使用されるmakefile build-local.mkは、アプリケーションmakefileの場所について推測を行います。
デフォルトでは、NDKはNDKアプリケーションApplication.mk
およびAndroid.mk
ファイルをjni
というサブディレクトリの下に格納するようになっているようです。これはうまく機能し、コマンドラインを使用できます:
$ ndk-build
たとえば、jni
サブディレクトリが必要ない場合は、LinuxコマンドラインツールをAndroidに移植するなど、次の方法が適切です。
空のAndroidManifest.xml
ファイルを作成します
次の内容でApplication.mk
ファイルを作成します。
APP_BUILD_SCRIPT := Android.mk
次に、Android.mk
ファイルを作成します。次に例を示します。
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := foo.c
LOCAL_MODULE := foo
include $(BUILD_EXECUTABLE)
アプリケーションをビルドするには、次を使用します。
$ ndk-build NDK_APPLICATION_MK=`pwd`/Application.mk
3つのことを指定する必要があります。
NDK_PROJECT_PATH - the location of your project
NDK_APPLICATION_MK - the path of the Application.mk file
APP_BUILD_SCRIPT - the path to the Android.mk file
これらは、ビルドスクリプトのデフォルト値をオーバーライドするために必要です。ビルドスクリプトは、jniフォルダーにあるものを想定しています。
Ndk-build useを呼び出すとき
ndk-build NDK_PROJECT_PATH=/path/to/proj NDK_APPLICATION_MK=/path/to/Application.mk
Application.mkで追加
APP_BUILD_SCRIPT := /path/to/Android.mk
ndk-build NDK_APPLICATION_MK=path\to\your\src\main\jni\Application.mk NDK_PROJECT_PATH=path\to\your\module\src\main
以下の手順に従ってください:
1)Right on your project
2)Go to properties
3)Go to C/C++ Build
4)Go to Builder Settings
5)Go to Build Location
Add build directory
6)Click on Workspace
7)Select your project folder
次のように見えるはずです
${workspace_loc:/[Your Project_Name]}
できた!!
これは私のために働いた。環境変数もセットアップもありません。コマンドラインでndkを解凍したルートディレクトリに移動し、ndk-buildコマンドを実行します。
ndk-build NDK_PROJECT_PATH =プロジェクトへのパス
私の開発マシンでは、サンプルは次のようになります。
C:\adt-bundle-windows-x86-20140321\Android-ndk-r9d>ndk-build NDK_PROJECT_PATH=D: /workspace/naruto
Android NDK: WARNING: APP_PLATFORM Android-19 is larger than Android:minSdkVersi on 9 in D:/workspace/naruto/AndroidManifest.xml
[armeabi] Compile thumb : ndkfoo <= ndkfoo.c
[armeabi] SharedLibrary : libndkfoo.so
[armeabi] Install : libndkfoo.so => libs/armeabi/libndkfoo.so
以下の手順に従う必要があります。
1. Android.mkを含むフォルダーに移動します
2. Android-ndkパスを$ NDK_PROJECT_PATHに割り当てます。例:NDK_PROJECT_PATH =/home/Android-ndk-r8bをエクスポートします。
3. NDKを$ PATHに追加します。例:export PATH = $ PATH:/ home/Android-ndk-r8b。
同じ問題が発生し、この方法で解決したため、ndkビルダーの作業ディレクトリを設定すると問題が解決する可能性があります。
パス:プロジェクトのプロパティ->ビルダー->->メイン->作業ディレクトリ