android NDK如何解决Please define the NDK_PROJECT_PATH variable to point to it
从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相关推荐
- 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 ...
- Android NDK开发入门学习笔记(图文教程,极其详尽)
以前也简单用过JNI,但是只是简单用一下,好多都不明白.最近在看源码部分,有涉及到JNI调用的,所以这次打算彻底把它搞定. 先普及一下JNI的调用关系:JAVA-------------------- ...
- NDK编译php,Android NDK编译常见错误及解决方案
Android NDK编译常见错误及解决方案 Error 1:$ ndk-build/cygdrive/c/andy/abc/obj/local/armeabi-v7a/objs/abc//hello ...
- Android NDK编译常见错误及解决方案
转自:http://chinavideo.org/forum.php?mod=viewthread&tid=10821&page=1 Error 1: $ ndk-build /cyg ...
- Android NDK开发配置NDK
在Android的官网下载android NDK 地址点击下载 下载之后解压到自己的目录下,我的是/home/zhycheng/ 然后在终端执行 chmod 777 android-ndk-r8 这条 ...
- android中ndk编译错误,Android NDK编译常见错误及解决方案
Android NDK编译常见错误及解决方案 Error 1:$ ndk-build/cygdrive/c/andy/abc/obj/local/armeabi-v7a/objs/abc//hello ...
- Android NDK调试出错Unknown Application ABI, Unable to detect application ABI#39;s的解决方式...
今天在调试Android NDK的时候,ADT的控制台报了这个错误: Unknown Application ABI, Unable to detect application ABI's 在网上查了 ...
- Android NDK: WARNING: Ignoring unknown import directory:错误解决方法
Android NDK: WARNING: Ignoring unknown import directory:错误解决方法 添加NDK模块路径(参考,具体视情况): NDK_MODULE_PATH ...
- 问题:Android NDK location should not contain whitespace...解决方法
在Android Studio环境开发时,可能会遇到如下问题: Android NDK location should not contain whitespace, as this can caus ...
- android ndk常见的问题及解决的方法
原文:http://blog.csdn.net/fangyuanseu/article/details/6857911 在ndk编译的过程中遇到的一些问题: 1 在用ndk-build编译的时候,被编 ...
最新文章
- 英国再推人工智能报告: 四方面发力打造AI强国
- Vue 踩坑之旅(1)
- 【BZOJ-1858】序列操作 线段树
- CRM Fiori pipeline应用的背景色问题
- Java、Android—零碎难记笔试考点(持续更新)
- html5/css3响应式布局介绍
- python flask高级编程之restful_python Flask实现restful api service
- centos php mcrypt_面试经常问你什么是PHP垃圾回收机制?
- Web开发中,使用表格来展示每个角色对应的权限
- 中小企业SAAS产品选型之分析自己的需求
- 01.ZooKeeper安装和介绍
- word关闭时卡死_word操作技巧:怎样快速退出正在进行的操作状态
- 掌握哪些知识,才能被称得上一名合格的前端开发工程师?
- uint64_t {aka long unsigned int}
- IDEA 打包项目时xml,yml,properties等文件不复制
- 伺服电机(servo motor)
- 如何将电脑上的音乐传到苹果手机上?电脑音乐导入苹果手机
- 学会保护自己的眼睛!
- 基于stm32的视觉和蓝牙控制F407芯片智能机械臂控制小车
- Linux之V4L2驱动框架
热门文章
- 【生信进阶练习1000days】day6-OrganismDb packages
- AR引擎vuforia源码分析、中文注释(1)
- POJ2109-Power of Cryptography
- OSI七层模型及TCP/IP五层模型
- 使用socket模块,多线程扫描指定ip的端口开放情况
- rsync linux 教程,rsync 用法教程
- java session 例子_JavaWeb——HttpSession常用方法示例
- Starting zookeeper ... already running as process 30988.
- 线上IIS应用程序池自动关闭
- python+opencv中最近出现的一些变化( OpenCV 官方的 Python tutorial目前好像还没有改过来?) 记一次全景图像的拼接...