Android ndk NDK can';找不到应用程序目录
运行ndk build命令时,出现以下错误:Android ndk NDK can';找不到应用程序目录,android-ndk,makefile,Android Ndk,Makefile,运行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 := F
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
是一个环境变量,因此不必包含在Android.mk
文件中。nkd build
是否在项目目录中启动
有关更多信息,请阅读我阅读的NDK文件夹中docs/HOWTO.html
中的文档
从NDKR4开始,您可以简单地将文件放在$PROJECT/jni下/
并从项目树中启动“ndk构建”脚本
如果要使用“ndk build”,但将文件放置到其他位置,
使用GNU Make变量替代,如下所示:
ndk-build NDK_APPLICATION_MK=/path/to/your/Application.mk
您可以使用以下命令
ndk-build -C your_project_path
希望这能回答您的问题。设置ndk生成器的工作目录可以解决您的问题,因为我也遇到了同样的问题,并以这种方式解决了它 路径:Project Properties->Builders->->Main->Working Directory遵循以下步骤:
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]}
完成 您需要遵循以下步骤: 1.转到包含Android.mk的文件夹 2.将android ndk路径分配给$ndk_项目_路径。例如:导出NDK_项目路径=/home/android-NDK-r8b
3.将NDK添加到$PATH。例如:export PATH=$PATH:/home/android-ndk-r8b。我还没有找到一个令我满意的答案,这可能取决于您是在尝试构建现有应用程序、创建新应用程序,还是在移植一些现有的本机应用程序。这些准则适用于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
这对我有用。没有环境变量,也没有设置。转到在命令行上解压缩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
C:\adt-bundle-windows-x86-20140321\android-ndk-r9d>ndk build ndk_PROJECT\u PATH=D:/workspace/naruto
Android NDK:警告:应用程序平台Android-19比D:/workspace/naruto/AndroidManifest.xml中9的Android:minSdkVersi大
[armeabi]编译thumb:ndkfoo libs/armeabi/libndkfoo.so
您需要指定三件事
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
这就是我在项目目录中使用的,
cd
,并执行以下操作:
ndk-build NDK_PROJECT_PATH=.
-C
为我工作
你也可以使用mac终端来实现这一点。问题是我只有C源文件,没有Android Java项目。解决方案是将所有文件放在一个名为“jni”的文件夹中,然后运行ndk build命令。终于成功了!但是感谢您的快速回答:)是的,在运行ndk build命令时,一点指向包含Application.mk的目录是至关重要的。我没有创建所有这些文件,而是在命令行上使用了
ndk build ndk\u PROJECT\u PATH=$(pwd)APP\u build\u SCRIPT=$(pwd)/Android.mk
。你的回答帮我弄明白了。我丢失了一个“jni”文件夹。这是一个很好的解决方案。顺便说一句,海军上将的捷径奏效了…直到我知道定义APP_STL的唯一方法是Application.mk。由于某些原因,无法在Android.mk中定义APP_STL。因此,tonylo的解决方案就是我最终使用的。这是最好的答案,因为它涉及到了根本问题:将您的Android.mk放在jni目录中。我需要在哪里调用此命令???$ndk build ndk_APPLICATION_MK=pwd
/APPLICATION.MK也有同样的问题,只需将导出ANDROID_ndk_HOME=[PATH to MY ndk FOLDER]
添加到我的.bash_profile
。之后,我可以从我的项目文件夹中运行该命令。要使用ndk build生成源代码,则源代码必须位于jni文件夹下,因为ndk build as default set$LOCAL\u PATH/jni是ndk\u project\u PATH。如果您想更改NDK_项目_路径,请轻松使用NDK build NDK_项目_路径=$(pwd)作为示例。执行此操作,并将您的文件放在名为jni的子文件夹中。我需要在哪里编写此文件?@SergBurlaka文件夹具有“Application.mk”。您应该选择NDK构建的路径,我认为文件夹并不重要。我喜欢此方法。它对我有用。创建NDK_PROJECT_PATH环境变量至少减少了一步。您好,不幸的是,我的NDK bundle不包含任何名为NDK build的文件夹,对此有何建议?
ndk-build NDK_PROJECT_PATH=.