安卓 NDK ndk-build 错误

3
我是一个Android Studio和Android NDK新手。我正在尝试为课程作业使用Android NDK编译一个简单的hello.c程序。我遵循以下项目指示,但出现了错误:
  1. 创建C程序

  2. 创建包含以下内容的Android.mk文件:

    LOCAL_PATH := $(call my-dir)
    include $(CLEAR_VARS)
    LOCAL_MODULE := hello.out
    LOCAL_SRC_FILES :=hello.c
    include $(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. 运行命令:

    export 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.

我通过Android Studio SDK安装了Android NDK组件,我的[NDK_DiR]路径为/home/justin/Android/Sdk/ndk-bundle。


已修复。第6步应为“export NDK_PROJECT_PATH=./”,缺少反斜杠。从folderx目录运行命令6和7。我之前是从[NDK_dir]运行命令7,而不是将[NDK_dir]包含在命令路径中。 - Justin Bramel
1个回答

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接