android NDK ndk-构建错误

android NDK ndk-build error

我是 Android 工作室和 android NDK 的新手。我正在尝试使用 android NDK 为 class 作业编译一个简单的 hello.c 程序。我已按照以下项目说明进行操作,但出现错误:

  1. 创建一个c程序

  2. 创建 Android.mk,内容如下:

    LOCAL_PATH := $(调用我的目录)
    包括 $(CLEAR_VARS)
    LOCAL_MODULE := hello.out
    LOCAL_SRC_FILES :=hello.c
    包括 $(BUILD_EXECUTABLE)

  3. 使用以下内容创建 Application.mk:

    APP_ABI := armeabi
    APP_PLATFORM := android-10
    APP_STL := stlport_static
    APP_BUILD_SCRITP := Android.mk

  4. 将hello.c、Android.mk、Application.mk放入同一个文件夹x.

  5. 转到文件夹 x

  6. 运行 命令:

    出口NDK_PROJECT_PATH=.

  7. 运行命令

    [NDK_dir]/ndk-build NDK_APPLICATION_MK=./Application.mk

  8. 可执行文件将生成在./libs/armeabi/hello.out

但是我在按照这些说明操作时遇到了这个错误:

/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

简单的解决方法是将所有三个文件移动到名为 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