NDK环境搭建

NDK-cygwin(Devel-Default)

G++:编译c++

Gccc

Makemake makefile文件build项目

 

环境变量:

Cygwin安装目录/home/用户名/.bash_profile

加入:NDK=/cygdrive/盘符/android-ndk-r9[NDK安装目录]

   export $NDK

   Cygwin- cd  $NDK-----OK

 

Path: cygwin安装目录/bin;

Classpath: android.jar目录(生成头文件)

 注:

 环境变量:
  path-        盘符:cygwin安装目录in;
  classpath-   安卓SDK目录platformsandroid-19android.jar;

配置Eclipse编译器:

 

项目右键

 

 

 

配置好编译器后会在:

 

文件中保存的编译器信息。

 

 

 

ANDROID SDK附带Eclipse IDE 已经搭配好了CDT环境

不需要进行配置编译器,会在RUN的时候编译,配置了编译器的会修改就编译。

另外SDK附带的IDE能提供快捷键。

 

 

 

使用SDK自带的 IDE

项目右键----android Tools------- add native support会自动生成jni----xx.cpp----android.mk

 调试:debug---android native debug

 

使用说明及注意:

 

第一个是androidNDK提供的唯一的一个库——日志库(就是java里的log);
第二个是头文件;
第三个就不用说了,c++的库;
第四个是定义一个宏(就和java里的常量很相似)
 
JNIEXPORT jstring JNICALL 这一部分是C++的写法
JNIEXPORT和JNICALL 是在JNI的宏
如果是用c就不需要就直接是

jstring Java_com_example_hellondk_MainActivity_getPostUrl

而c++就要
extern "C" {
  jstring     Java_com_example_hellondk_MainActivity_getPostUrl
}


extern "C" {}包起来
或者像我现在写的这样
JNIEXPORT jstring JNICALL Java_com_example_hellondk_MainActivity_getPostUrl
 

 

原文地址:https://www.cnblogs.com/xiaosw/p/3527465.html