我是新手使用ndk并试图使用android ndk10d文件夹中的一些示例项目。例如hello-jni示例项目。我一直收到这个错误:
Error:Execution failed for task ':app:compileDebugNdk'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
C:\Users\Jonathon\android-ndk-r10d\ndk-build.cmd NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=C:\Users\Jonathon\AndroidStudioProjects\hello-jni2\app\build\intermediates\ndk\debug\Android.mk APP_PLATFORM=android-21 NDK_OUT=C:\Users\Jonathon\AndroidStudioProjects\hello-jni2\app\build\intermediates\ndk\debug\obj NDK_LIBS_OUT=C:\Users\Jonathon\AndroidStudioProjects\hello-jni2\app\build\intermediates\ndk\debug\lib APP_ABI=all
错误代码:2输出:
make.exe: *** No rule to make target `C:\Users\Jonathon\AndroidStudioProjects\hello-jni2\app\build\intermediates\ndk\debug\obj/local/arm64-v8a/objs/hello-jni/C_\Users\Jonathon\AndroidStudioProjects\hello-jni2\app\src\main\jni', needed by `C:\Users\Jonathon\AndroidStudioProjects\hello-jni2\app\build\intermediates\ndk\debug\obj/local/arm64-v8a/objs/hello-jni/C_\Users\Jonathon\AndroidStudioProjects\hello-jni2\app\src\main\jni\hello-jni.o'. Stop.
我已经检查了文件:ndk-build.cmd确实在指定的位置。当我尝试打开它时,命令提示符说它找不到应用程序项目目录。请为其定义NDK_PROJECT_PATH
变量
我重新安装并更新了我的整个环境,从 0.8.9到android studio 0.9.9 和现在1.01 ,我得到了同样的错误。它似乎无法找到文件或文件目录,这必定意味着我的配置不对,但我无法确定如何解决它。
local.properties
sdk.dir=C\:\\Users\\Jonathon\\AppData\\Local\\Android\\sdk
ndk.dir=C\:\\Users\\Jonathon\\android-ndk-r10d
Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := hello-jni
LOCAL_SRC_FILES := hello-jni.c
include $(BUILD_SHARED_LIBRARY)
答案 0 :(得分:3)
观看此视频,了解如何使用Android studio构建简单的NDK项目 https://www.youtube.com/watch?v=kFtxo7rr2HQ&list=UUkbLy9aj5IBXfS6WqLy5Qmw
或者,您也可以下载Android Studio的NDK插件附带的英特尔原生开发者体验工具
答案 1 :(得分:2)
您可以删除Android.mk文件:它会被忽略,因为您的gradle配置( build.gradle 文件)会动态生成一个新文件。您可以从我在NDK support in Android Studio的文章中获得有关此内容的更多信息。
您遇到的错误就是这个:https://code.google.com/p/android/issues/detail?id=66937&
一个简单的解决方法是在 hello-jni.c 旁边创建一个空的.c文件。
答案 2 :(得分:1)
如果您只有一个.c(或.cpp)文件,则添加一个虚拟.c(或.cpp)文件,它可以正常工作。