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

    xiaoxiao2021-03-25  62

    前言:

    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

    转载请注明原文地址: https://ju.6miu.com/read-37537.html

    最新回复(0)