运行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
答案 0 :(得分:26)
NDK_PROJECT_PATH
是一个环境变量,因此您不必包含在Android.mk
文件中。 nkd-build
是否在项目目录中启动了?
有关详细信息,请阅读我在阅读的NDK文件夹中的docs/HOWTO.html
中的文档
从NDK r4开始,您只需将文件放在$ PROJECT / jni /下即可 并从项目树中启动'ndk-build'脚本。
如果您想使用'ndk-build',但将文件放在其他位置, 使用GNU Make变量覆盖:
ndk-build NDK_APPLICATION_MK=/path/to/your/Application.mk
答案 1 :(得分:26)
您可以使用以下命令
ndk-build -C your_project_path
希望这会回答你的问题。
答案 2 :(得分:19)
我没有找到一个令我满意的单一答案,也许取决于您是在尝试构建现有应用程序,创建新应用程序,还是正在移植某些现有的本机应用程序。这些指南适用于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 :(得分:14)
您需要指定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时使用
ndk-build NDK_PROJECT_PATH=/path/to/proj NDK_APPLICATION_MK=/path/to/Application.mk
在Application.mk中添加
APP_BUILD_SCRIPT := /path/to/Android.mk
答案 4 :(得分:14)
ndk-build NDK_APPLICATION_MK=path\to\your\src\main\jni\Application.mk NDK_PROJECT_PATH=path\to\your\module\src\main
答案 5 :(得分:10)
答案 6 :(得分:4)
按照以下步骤操作:
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]}
完成!!
答案 7 :(得分:3)
这对我有用。没有环境变量也没有设置。转到在命令行解压缩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
答案 8 :(得分:3)
答案 9 :(得分:2)
您需要按照以下步骤操作:
1.转到包含Android.mk的文件夹
2.将android-ndk路径分配给$ NDK_PROJECT_PATH。例如:export NDK_PROJECT_PATH = / home / android-ndk-r8b。
3.将NDK添加到$ PATH。例如:export PATH = $ PATH:/ home / android-ndk-r8b。
答案 10 :(得分:0)
设置你的ndk builder的工作目录可以解决你的问题,因为我遇到了同样的问题并以这种方式解决了它。
路径:项目属性 - &gt;建设者 - &gt; - &GT;主要 - &gt;工作目录