NDK找不到应用程序目录

运行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_PROJECT_PATH是一个环境variables,所以你不必包含在Android.mk文件中。 在项目目录中启动了nkd-build吗?

有关更多信息,请阅读我读取的NDK文件夹中docs/HOWTO.html

从NDK r4开始,您可以简单地将文件放在$ PROJECT / jni /下,并从项目树中启动“ndk-build”脚本。

如果你想使用'ndk-build',但是把文件放在不同的位置,可以使用GNU Makevariables覆盖:

 ndk-build NDK_APPLICATION_MK=/path/to/your/Application.mk 

您可以使用以下命令

 ndk-build -C your_project_path 

希望这会回答你的问题。

我还没有find一个令我满意的答案,这可能取决于您是在尝试构build一个现有的应用程序,创build一个新的应用程序,还是正在移植某个现有的本机应用程序。 这些指导方针与android-ndk-r9b一起使用,但应该与最近的几个版本一起工作

ndk-build使用的makefile build-local.mk会对应用程序makefile的位置做一些猜测。

默认情况下,NDK的目标是让您将NDK应用程序Application.mkAndroid.mk文件存储在名为jni的子目录下。 这很好,你可以使用命令行:

 $ ndk-build 

如果你不想拥有一个jni子目录,例如,也许你正在将一个linux命令行工具移植到Android上,那么以下内容可能适合你:

创build一个空的AndroidManifest.xml文件

现在使用以下内容创build一个Application.mk文件:

 APP_BUILD_SCRIPT := Android.mk 

然后创build一个Android.mk文件,例如:

 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_SRC_FILES := foo.c LOCAL_MODULE := foo include $(BUILD_EXECUTABLE) 

构build应用程序使用:

 $ ndk-build NDK_APPLICATION_MK=`pwd`/Application.mk 
 ndk-build NDK_APPLICATION_MK=path\to\your\src\main\jni\Application.mk NDK_PROJECT_PATH=path\to\your\module\src\main 

你需要指定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 

需要这些来覆盖构build脚本的默认值,这些脚本需要在jni文件夹中。

当调用ndk-build使用

 ndk-build NDK_PROJECT_PATH=/path/to/proj NDK_APPLICATION_MK=/path/to/Application.mk 

在Application.mk中添加

 APP_BUILD_SCRIPT := /path/to/Android.mk 

这是我使用的, cd进入项目目录,并执行:

 ndk-build NDK_PROJECT_PATH=. 

在这里输入图像说明

遵循以下步骤:

 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]} 

完成!

这对我有效。 没有环境variables,也没有设置。 去命令行解压ndk的根目录下运行ndk-build命令:

ndk-build NDK_PROJECT_PATH =您的项目的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 

-C为我工作。

在这里输入图像说明

您也可以使用macterminal来做到这一点。

您需要遵循以下步骤:

1.转到包含Android.mk的文件夹

2.将android-ndkpath分配给$ NDK_PROJECT_PATH。 例如:export NDK_PROJECT_PATH = / home / android-ndk-r8b。

3.将NDK添加到$ PATH。 例如:export PATH = $ PATH:/ home / android-ndk-r8b。

设置你的ndk生成器的工作目录可以解决你的问题,因为我得到了同样的问题,并以这种方式解决它。

path:项目属性 – >build设者 – > – >主要 – >工作目录