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下NDK环境搭建 简单搭建NDK环境

最简单的配置Android NDK的方法,下载文件的地址通通是国内的地址,加速下载免XX。 本文非常适合初学者,和学生,入门级程序员等等。...
  • weizongwei5
  • weizongwei5
  • 2015年04月01日 21:08
  • 5193

Android NDK开发之从环境搭建到Demo级十步流

说到NDK,相信大家都不陌生,它是Google为便于Android开发提供的一种原生开发集:Native Development Kit,而且也是一个包含API、构建工具、交叉编译、调试器、文档示例等...
  • guiman
  • guiman
  • 2017年04月26日 16:16
  • 14346

windows下 ADT NDK开发环境配置

前提: 下载好Ecplise ADT并配置好开发环境,不会配置环境可以参考这里: http://blog.csdn.net/danfengw/article/details/47111107 步...
  • danfengw
  • danfengw
  • 2016年07月13日 13:10
  • 1174

NDK在windows下的开发环境搭建及开发过程

在Android应用的开发工程中,不管是游戏还是普通应用,都时常会用到.so即动态链接库,关于.so是什么玩意儿,有什么好处,这个大家可以在网上查一下,本人不做过多解释。.so本是linux下的文件类...
  • baiyuliang2013
  • baiyuliang2013
  • 2015年03月16日 16:57
  • 1543

Android Studio NDK环境配置及JNI使用方法

Java通过JNI调用本地方法,而本地方法是以库文件的形式存放的(在Windows平台下是DLL文件形式,在UNIX机器上是SO文件形式)。通过调用本地的库文件的内部方法,使Java可以实现和本地机器...
  • Tongseng
  • Tongseng
  • 2016年11月02日 10:20
  • 19941

win10下androidStudio1.5中NDK环境搭建/安装/使用

操作系统是win10,开发使用的IDE工具是android Studio,用Android Studio进行NDK开发比Eclipse更加灵活方便,不需要再修改makefile文件,也不需要像以前一样...
  • vivien_shaw
  • vivien_shaw
  • 2016年03月01日 21:34
  • 1226

Android NDK开发(一)——环境搭建

Android下的NDK开发是Android开发中不可或缺的一部分,通过Google提供的NDK套件,我们可以使用JNI这座桥梁在Java和C/C++之间建立联系(互相调用)。那么,为什么在Andro...
  • lee_tianya
  • lee_tianya
  • 2014年12月25日 21:23
  • 3681

在eclipse中android NDK开发环境的搭建

网上有很多关于搭建android NDK开发环境的文章,发现很多都不能用,大部分都是过时的,比如安装什么Cygwin,在eclipse里面新建什么Builder之类的,有的只有部分内容。经过一天的摸索...
  • lovexieyuan520
  • lovexieyuan520
  • 2015年01月28日 20:38
  • 25487

Android新版NDK环境配置(免Cygwin)

原文链接:http://blog.csdn.net/codezjx/article/details/8879670 前言:Android NDK r7及以上的版本已经集成了Cygwin编译环境...
  • houshunwei
  • houshunwei
  • 2013年12月09日 10:11
  • 45747

AndroidStudio如何配置NDK/JNI开发环境

转载:http://blog.csdn.net/aplixy/article/details/51429305 参考文章: http://www.th7.cn/Program/Andr...
  • the_Sunshine_of_King
  • the_Sunshine_of_King
  • 2017年03月08日 22:32
  • 1276
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Windows 下 Android NDK 环境配置
举报原因:
原因补充:

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