android NDK如何解决Please define the NDK_PROJECT_PATH variable to point to it

原创 2017年07月27日 23:27:04

从Google android官网下载最新的android ndk安装包android-ndk-r15b,自己配置环境使用ndk-build编译出现如下错误

$ ndk-build 
Android NDK: Could not find application project directory !    
Android NDK: Please define the NDK_PROJECT_PATH variable to point to it.    
/home/用户路径/android-ndk-r15b/build/core/build-local.mk:151: *** Android NDK: Aborting    .  Stop.

原来最新的NDK使用命令行编译需要制定项目路径,Android.mk,Application.mk文件路径

ndk-build NDK_PROJECT_PATH=. NDK_APPLICATION_MK=Application.mk APP_BUILD_SCRIPT=Android.mk

注意:NDK_PROJECT_PATH=.  后面是一个英文句号“.”,表示当前路径

重新编译就可以了

$ ndk-build NDK_PROJECT_PATH=. NDK_APPLICATION_MK=Application.mk APP_BUILD_SCRIPT=Android.mk
Android NDK: APP_PLATFORM not set. Defaulting to minimum supported version android-14.    
[armeabi] Compile++ thumb: HelloJni <= com_demo_Hello.cpp
[armeabi] StaticLibrary  : libstdc++.a
[armeabi] SharedLibrary  : libHelloJni.so
[armeabi] Install        : libHelloJni.so => libs/armeabi/libHelloJni.so
[armeabi-v7a] Compile++ thumb: HelloJni <= com_demo_Hello.cpp
[armeabi-v7a] StaticLibrary  : libstdc++.a
[armeabi-v7a] SharedLibrary  : libHelloJni.so
[armeabi-v7a] Install        : libHelloJni.so => libs/armeabi-v7a/libHelloJni.so
[x86] Compile++      : HelloJni <= com_demo_Hello.cpp
[x86] StaticLibrary  : libstdc++.a
[x86] SharedLibrary  : libHelloJni.so
[x86] Install        : libHelloJni.so => libs/x86/libHelloJni.so

究其原因,谷歌的亲儿子android studio现在高度集成了NDK,所以在编译策略上有所改变,所幸改变不大。

Hello.java

package com.demo;

public class Hello {
    public native static void native_HelloWorld();
}

com_demo_Hello.h

/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class com_demo_Hello */

#ifndef _Included_com_demo_Hello
#define _Included_com_demo_Hello
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     com_demo_Hello
 * Method:    native_HelloWorld
 * Signature: ()V
 */
JNIEXPORT void JNICALL Java_com_demo_Hello_native_1HelloWorld
  (JNIEnv *, jclass);

#ifdef __cplusplus
}
#endif
#endif
com_demo_Hello.cpp

#include "com_demo_Hello.h"

#include <android/log.h>

#define TAG "HelloJni"

/*
 * Class:     com_demo_Hello
 * Method:    native_HelloWorld
 * Signature: ()V
 */
JNIEXPORT void JNICALL Java_com_demo_Hello_native_1HelloWorld
  (JNIEnv * env, jclass clazz) {
    __android_log_print(ANDROID_LOG_VERBOSE, TAG, "Hello, World.");
}

Android.mk

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE := libHelloJni
LOCAL_C_INCLUDES := com_demo_Hello.h
LOCAL_SRC_FILES := com_demo_Hello.cpp

LOCAL_LDLIBS := -llog

include $(BUILD_SHARED_LIBRARY)

Application.mk

 APP_ABI := armeabi armeabi-v7a x86

NDK谷歌编译官网

https://developer.android.com/studio/projects/add-native-code.html#new-project

使用AndroidStudio编译NDK的方法及错误解决方案

参考资料: 【android ndk】macos环境下Android Studio中利用gradle编译jni模块及配置:http://demo.netfoucs.com/ashqal/article...
  • asmcvc
  • asmcvc
  • 2014年04月25日 10:34
  • 142172

android studio 使用NDK和swig编译c++示例

使用NDK和swig工具来批量编译c++代码还是很方便的。我之前写过一篇eclipse版本的,现在终于有空把android studio的版本弄好。eclipse版本地址:Android ndk开发s...
  • qq_16064871
  • qq_16064871
  • 2017年11月02日 10:04
  • 576

android的ndk修改app_platform的方法,亲测绝对可行

android ndk:warning APP_PLATFORM android-18 is larger than adroid:minSdkVersion 10 in ./AndroiddMani...
  • xingxiliang
  • xingxiliang
  • 2014年01月16日 10:24
  • 8643

Please define the NDK_PROJECT_PATH variable to point to it

Please define the NDK_PROJECT_PATH variable to point to it
  • jiangyinglin198812
  • jiangyinglin198812
  • 2014年06月26日 16:50
  • 11251

ndk错误解决方法 ndk-build NDK_PROJECT_PATH

ndk错误解决方法: make.exe: Nothing to be done for `example'. make.exe: Nothing to be done for `all'. Andr...
  • earbao
  • earbao
  • 2016年06月07日 18:58
  • 3217

[ndk]Android NDK: Your APP_BUILD_SCRIPT points to an unknown file/Please define the NDK_PROJECT_PATH

NDK编译报错: Your APP_BUILD_SCRIPT points to an unknown file/Please define the NDK_PROJECT_PATH 这种报...
  • qq_14997169
  • qq_14997169
  • 2017年08月13日 16:01
  • 289

Android Studio NDK及so文件开发 以及常见错误

http://www.2cto.com/kf/201605/512334.html
  • Clovelegent
  • Clovelegent
  • 2016年09月21日 19:53
  • 3377

使用NDK编译报错小结

一、Please define the NDK_PROJECT_PATH variable to point to it; Please define the NDK_PROJECT_PATH ...
  • wh_19910525
  • wh_19910525
  • 2014年12月17日 13:10
  • 1951

Android学习笔记:NDK入门一些总结

1、安装         下载NDK包后,放到与SDK同级的目录下,并且配置好环境变量,配好后,在终端输入ndk-build命令测试,出现如下情况,则代表安装成功 Android NDK: Cou...
  • duancanmeng
  • duancanmeng
  • 2012年03月27日 16:17
  • 7049

Cygwin 下编译Jni生成So文件时报错Could not find application project directory的解决办法.

admin /cygdrive/D/Workspace/Temp/Hello $ $NDK/ndk-build Android NDK: Could not find application pr...
  • mShopping
  • mShopping
  • 2014年03月04日 09:50
  • 8834
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android NDK如何解决Please define the NDK_PROJECT_PATH variable to point to it
举报原因:
原因补充:

(最多只允许输入30个字)