我是Android工作室和Android NDK的新手。我正在尝试使用android NDK编译一个简单的hello.c程序来进行类赋值。我遵循了以下项目说明,但收到错误:
创建一个c程序
使用以下内容创建Android.mk:
LOCAL_PATH:= $(致电my-dir)
包括$(CLEAR_VARS)
LOCAL_MODULE:= hello.out
LOCAL_SRC_FILES:= hello.c
包括$(BUILD_EXECUTABLE)
使用以下内容创建Application.mk:
APP_ABI:= armeabi
APP_PLATFORM:= android-10
APP_STL:= stlport_static
APP_BUILD_SCRITP:= Android.mk
将hello.c,Android.mk,Application.mk放入相同的文件夹x。
转到文件夹x
运行命令:
导出NDK_PROJECT_PATH =。
运行命令
[NDK_dir] / ndk-build NDK_APPLICATION_MK =。/ Application.mk
将在./libs/armeabi/hello.out(/p>
但是在遵循这些说明时我遇到了这个错误:
/home/justin/Desktop/android-ndk-r16/build/core/add-application.mk:49: Application.mk: No such file or directory
Android NDK: APP_PLATFORM not set. Defaulting to minimum supported version android-14.
Android NDK: There is no Android.mk under ./jni
Android NDK: If this is intentional please define APP_BUILD_SCRIPT to point
Android NDK: to a valid NDK build script.
/home/justin/Desktop/android-ndk-r16/build/core/add-application.mk:116: *** Android NDK: Aborting... . Stop.
我通过Andoird studio SDK安装了Android NDK组件,我的[NDK_DiR]是/ home / justin / Android / Sdk / ndk-bundle
答案 0 :(得分:0)
简单的解决方法是将所有三个文件移动到名为jni
的子目录中。您不需要导出NDK_PROJECT_PATH,您的命令看起来像
<path-to/>ndk-build -C <path-to/>x/jni
如果您需要以任何价格避免jni
目录,请尝试
<path-to/>ndk-build NDK_PROJECT_PATH=<path-to/>x NDK_APPLICATION_MK=<path-to/>x/Application.mk APP_BUILD_SCRIPT=<path-to/>x/Android.mk
几乎相当于
<path-to/>ndk-build -C <path-to/>x NDK_PROJECT_PATH=. NDK_APPLICATION_MK=Application.mk APP_BUILD_SCRIPT=Android.mk