在windowsXP系统中使用Eclipse开发Android动态库so(一):第一个测试so

来源:互联网 发布:idea java 代码混淆 编辑:程序博客网 时间:2024/05/22 16:49

NDK的安装和配置参考:http://www.cr173.com/html/24813_1.html。只要参考安装与配置部分,程序的部分不用去看。

配置好后,开始写第一个so程序。在网上查了不少资料也没试出来。这里写的是自己摸索着写出来的。

一、在Eclipse中设置NDK路径:

点击菜单Window,选择Preferences。


选择Android中的本机开发,在右侧NDK Location选择NDK安装的目录。设置完成后点击OK按键。

二、在Eclipse中新建一个Android Application Project工程。


一路Next,完成新建工程的操作。

三、右键点击工程名称,选择Android Tools中点击Add Native Support...



这里设置so文件的名称。我使用默认值,点击Finish按键。


我选择是【Yes】。

这是到MyHelloJni工程目录中,你会发现现在多了一个jni文件夹。此文件夹中已经有.mk和.cpp两个文件。


四、设置工程Build。

右键点击工程名称,在弹出的菜单中选择Properties

在弹出的的对话框中点击左侧的Builders,点击右侧的【New...】按键


在弹出的对话框中选择Program,点击【OK】按键。


在弹出的Edit Configuration对话框进行设置:

(a)Main属性页设置:

Name中输入新建的Builder的名称,可以自己起。

Location:选择NDK安装目录中的ndk-build.cmd文件

Working Directory:设置工程的路径


b)Refresh属性页设置:按下图进行设置


c)Bulid Options属性页设置:

如下图进行设置

点击【Specify Resources...】按键,在弹出的的对话框中,选择MyHelloJni工程的jni文件夹


五、编辑MyHelloJni.cpp文件


#include<string.h>和#include<jni.h>两行代码是系统自动生成的。

增加了一个接口用来返回一个固定字符串,用来演示so的调用。

接口函数名:Java+包名(com_example_myhellojni)+调用so的类名(我在MainActivity中加载和调用so的)

.mk就使用默认生成,不用修改。

六、生成so文件。点击Eclipse右上角的C/C++按钮。


如果没有C/C++按钮,点击【Java】旁边的【Open Perspective】,弹出的对话框中选择C/C++

点击工具栏中的小锤子

选择菜单Project中的Clean。



在弹出的对话框中,选择MyHelloJni


点击【OK】显示生成了so。


左侧工程中也能看到生成了so(自动多了obj文件夹)



七、在Android App中调用so


关闭Eclipse在启动Eclipse,工程名称前的叉叉就没有了,编译生成apk


在手机上运行的结果:




0 0