android NDK ndk-build错误

时间:2017-11-22 03:49:34

标签: android c android-ndk ndk-build

我是Android工作室和Android NDK的新手。我正在尝试使用android NDK编译一个简单的hello.c程序来进行类赋值。我遵循了以下项目说明,但收到错误:

  1. 创建一个c程序

  2. 使用以下内容创建Android.mk:

    LOCAL_PATH:= $(致电my-dir)
    包括$(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(/p>

  9. 生成可执行文件

    但是在遵循这些说明时我遇到了这个错误:

    /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

1 个答案:

答案 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