NDK-cygwin(Devel-Default)
G++:编译c++;
Gcc:c。
Make:make 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
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