Windows 下 Android NDK 环境配置

原创 2011年01月24日 10:47:00

记录一下Windows下Android NDK的配置方法。

1.下载NDK

http://dl.google.com/android/ndk/android-ndk-r4-windows.zip

此为r4版,因此以下均为r4版的配置方法。

2.下载安装Cygwin

http://www.cygwin.com/setup.exe

此为安装程序,需要在线下载一些安装包,选一个台湾的镜像下载,速度能够快一些。

选择安装包时,一定把gcc和GNU的安装选项Default改为Install,以确保安装,其他的默认即可。

安装选择时选择下载并安装,就省得下载完毕再手动运行setup.exe安装了。默认情况安装在C:/Cygwin下。

3.安装NDK

解压第一步下载的zip文件到合适的目录下。

修改Cygwin的环境变量(玩过Linux此步骤就会很明了)。具体为:

1)用UltraEdit等编辑器打开C:/Cygwin/home/你Windows账户名/.bash_profile文件。

2)在文件底部添加

        export ANDROID_NDK_ROOT=/cygdrive/D/Android/android-ndk-r04-windows

其中/cygdrive/是必须有的,后面D/Android/android-ndk-r04-windows表明NDK解压在D:/Android/android-ndk-r04-windows下。注意,目录中尽量不要有空格。

3)为了之后编译的方便,可以再添加

        export NDK=/cygdrive/D/Android/android-ndk-r04-windows

4.可以参考NDK目录下samples/hello-jni。这是利用JNI从C语言端返回字符串到Java端输出的一个简单例子。

5.自建工程的话,需要在工程里添加jni文件夹,该文件夹用于存放C/C++代码以及make文件。make文件必须叫Android.mk,如何书写也可参考hello-jni中的该文件。

6.有关C/C++接口函数的命名:

        JNIEXPORT void JNICALL Java_包名_类名_函数名(JNIEnv * env, jobject obj);

其中,Java为必须,包名中的”.“用”_“代替,类名是以该函数为成员函数的类的名称,两个参数是从Java端通过JNI转换过来的。

对应Java端该函数原型就是

        private / public native void 函数名();

为某类的成员函数,参数空,返回空。

7.有关JNI类型转换

刚才看到,Java端参数空时,C/C++端需要添加JNIEnv *env, jobject obj。那么其他类型变量的对应关系如何呢?

可以参考jni.h。

Java中boolean, byte, char, short, int, long, float, double分别对应C/C++中

jboolean, jbyte, jchar, jshort, jint, jlong, jfloat, jdouble。

一维数组类型对应规律是,Java中*[]对应于C/C++中j*Array,比如int[]对jintArray,byte[]对应于jbyteArray等等。

String与二维数组暂不讨论。

以上对应关系可用于参数和返回值。

8.C/C++端也可以调用上层Java的类方法,具体操作不在这里讨论了。

9.C/C++程序的编译

打开Cygwin,先检查一下gcc与GNU的配置:输入gcc --v和make --v,如果打印出版本号,则表示安装成功。

然后cd到要编译的工程目录。

再输入$NDK/ndk-build即可。
其中NDK为第6步添加的环境变量。

10.在Eclipse里先Project->Clean,再运行。注意,每次更改C/C++文件,然后Cygwin编译,在Eclipse里都要先Clean一下,否则新生成的so链接库可能不会被链接到apk文件中,而是保持之前的结果。

相关文章推荐

Windows 上 Android NDK 环境配置

Android NDK 主要是为了重用一些(C/C++)代码,通过NDK编译成*.so的动态链接库,然后通过SDK打包进apk进行使用。它是 Android SDK 的一个补充,所以要先安装需要的 S...

Android NDK学习(2)Windows下NDK开发环境配置

一、配置好Android开发环境   此处不再赘述。       2013年6月7日:       现在android SDK的版本已经到了4.2了,几乎不用配置,下载下来解...
  • hcb1230
  • hcb1230
  • 2014年02月18日 10:53
  • 493

Android NDK环境配置

  • 2014年01月06日 20:47
  • 19KB
  • 下载

Android NDK开发环境配置

第一次接触Android NDK开发,参考了两篇文章,顺利完成了NDK开发环境的配置: http://www.cnblogs.com/devinzhang/archive/2012/02/29/23...
  • nanaqx
  • nanaqx
  • 2015年06月12日 14:34
  • 307

Android NDK编译环境配置

一直在断断续续学习【非虫】大大的《Android软件安全与逆向分析》,刚刚开通博客,算是一个学习轨迹记录吧~希望看完书做完实验能所成长!...

android NDK/JNI环境配置及实例开发流程

来源:ITEYE 作者:daixj110 一cygwin安装 cygwin精简版下载地址:http://down.51cto.com/download.php?do=co...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Windows 下 Android NDK 环境配置
举报原因:
原因补充:

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