eclipse中开发NDK以及环境搭建(一)

来源:互联网 发布:人工智能智能控制 编辑:程序博客网 时间:2024/06/06 03:54

前言:

NDK:即Native Development Kit,用它开发c/c++是很方便的。

这里是基于r13b的开发的,但r13b中没有samples这个文件,所以需要下载以前的版本中的samples,samples中包含的是官方的例子。

准备工具:

既然开发NDK,那eclipse和AndroidSDK那肯定是必须的。

下载NDK包,android Studio中可直接下载,eclipse应该也可以,没尝试,现在是直接下载NDK包,解压的合适的位置,和SDK一样,路径不能出现中文。

配置环境变量,主要是两处,二是NDK_ROOT(需要自己创建),变量值是NDK的路径,一是Path,将刚创建的NDK_ROOT追加到Path后。

 

打开cmd命令行,输入ndk-build出现如下字符即可

到此NDK的环境变量配置成功。

打开eclipse

Window—>Prefernces—>Android—>NDK选择你NDK Location的存放路径(我这有2个Android选项,我怕出问题,所以2个都选了)。

 

将samples复制android-ndk-r13b中(NDK根目录)

官方给的只有c文件,没有.so,需要自己生成,好像在6版本以前的装cygwin,现在不需要了,直接com窗口,cd到samples的hello-jni中(hello-jni就是官方给出的例子)

再输入命令行:NDK路径(NDK环境变量的变量值)/ndk-build
此时会对hello-jni工程进行编译生成一个libs文件夹,里面存放在生成libhello-jni文件,也就是我们所需要的.os文件。

将hello-jni导入工程,会发现它比以前的工程多了几个文件夹,分别是jni,libs和obj,其中jni是自带的,剩下的2个是刚才com是创建编译的。

进入jni下的hello—jni.c

开头的Java_com_example_hellojni_HelloJni_stringFromJNI很重要,java表示java要用到,黄色的部分是你的包名,红色的是你的类名,蓝色的是方法名。

HelloJni.java文件

此时运行程序就能看到 “这是我的JNI” 这句话,此上是运行官方的例子。

需注意,如想改变“这是我的JNI”,需将.c的文件改变,并重新com窗口编译出新的.so文件才可以。

 

 

 

官方例子就此跑通,但我们如果想在NDK中跑自己的C程序,还需要一些另外的步骤。

如果你要是需要引用别人的.so文件,需要知道对方的包名,类名和方法名(很重要这点)。

至于自己的C程序编译成.so,得等我熟悉C语言后才能更新,谁精通C可以教教我,QQ:719919409

0 0
原创粉丝点击