从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.cppLOCAL_LDLIBS := -lloginclude $(BUILD_SHARED_LIBRARY)

Application.mk

 APP_ABI := armeabi armeabi-v7a x86

NDK谷歌编译官网

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

android NDK如何解决Please define the NDK_PROJECT_PATH variable to point to it相关推荐

  1. Mastering Android NDK Build System - Part 1: Techniques with ndk-build

    This article is not a "Hello world!"-type tutorial for NDK. Although I will still provide ...

  2. Android NDK开发入门学习笔记(图文教程,极其详尽)

    以前也简单用过JNI,但是只是简单用一下,好多都不明白.最近在看源码部分,有涉及到JNI调用的,所以这次打算彻底把它搞定. 先普及一下JNI的调用关系:JAVA-------------------- ...

  3. NDK编译php,Android NDK编译常见错误及解决方案

    Android NDK编译常见错误及解决方案 Error 1:$ ndk-build/cygdrive/c/andy/abc/obj/local/armeabi-v7a/objs/abc//hello ...

  4. Android NDK编译常见错误及解决方案

    转自:http://chinavideo.org/forum.php?mod=viewthread&tid=10821&page=1 Error 1: $ ndk-build /cyg ...

  5. Android NDK开发配置NDK

    在Android的官网下载android NDK 地址点击下载 下载之后解压到自己的目录下,我的是/home/zhycheng/ 然后在终端执行 chmod 777 android-ndk-r8 这条 ...

  6. android中ndk编译错误,Android NDK编译常见错误及解决方案

    Android NDK编译常见错误及解决方案 Error 1:$ ndk-build/cygdrive/c/andy/abc/obj/local/armeabi-v7a/objs/abc//hello ...

  7. Android NDK调试出错Unknown Application ABI, Unable to detect application ABI#39;s的解决方式...

    今天在调试Android NDK的时候,ADT的控制台报了这个错误: Unknown Application ABI, Unable to detect application ABI's 在网上查了 ...

  8. Android NDK: WARNING: Ignoring unknown import directory:错误解决方法

     Android NDK: WARNING: Ignoring unknown import directory:错误解决方法 添加NDK模块路径(参考,具体视情况): NDK_MODULE_PATH ...

  9. 问题:Android NDK location should not contain whitespace...解决方法

    在Android Studio环境开发时,可能会遇到如下问题: Android NDK location should not contain whitespace, as this can caus ...

  10. android ndk常见的问题及解决的方法

    原文:http://blog.csdn.net/fangyuanseu/article/details/6857911 在ndk编译的过程中遇到的一些问题: 1 在用ndk-build编译的时候,被编 ...

最新文章

  1. 英国再推人工智能报告: 四方面发力打造AI强国
  2. Vue 踩坑之旅(1)
  3. 【BZOJ-1858】序列操作 线段树
  4. CRM Fiori pipeline应用的背景色问题
  5. Java、Android—零碎难记笔试考点(持续更新)
  6. html5/css3响应式布局介绍
  7. python flask高级编程之restful_python Flask实现restful api service
  8. centos php mcrypt_面试经常问你什么是PHP垃圾回收机制?
  9. Web开发中,使用表格来展示每个角色对应的权限
  10. 中小企业SAAS产品选型之分析自己的需求
  11. 01.ZooKeeper安装和介绍
  12. word关闭时卡死_word操作技巧:怎样快速退出正在进行的操作状态
  13. 掌握哪些知识,才能被称得上一名合格的前端开发工程师?
  14. uint64_t {aka long unsigned int}
  15. IDEA 打包项目时xml,yml,properties等文件不复制
  16. 伺服电机(servo motor)
  17. 如何将电脑上的音乐传到苹果手机上?电脑音乐导入苹果手机
  18. 学会保护自己的眼睛!
  19. 基于stm32的视觉和蓝牙控制F407芯片智能机械臂控制小车
  20. Linux之V4L2驱动框架

热门文章

  1. 【生信进阶练习1000days】day6-OrganismDb packages
  2. AR引擎vuforia源码分析、中文注释(1)
  3. POJ2109-Power of Cryptography
  4. OSI七层模型及TCP/IP五层模型
  5. 使用socket模块,多线程扫描指定ip的端口开放情况
  6. rsync linux 教程,rsync 用法教程
  7. java session 例子_JavaWeb——HttpSession常用方法示例
  8. Starting zookeeper ... already running as process 30988.
  9. 线上IIS应用程序池自动关闭
  10. python+opencv中最近出现的一些变化( OpenCV 官方的 Python tutorial目前好像还没有改过来?) 记一次全景图像的拼接...