Android中NDK的so文件产生和使用
参考:http://blog.****.net/bingdianlanxin/article/details/46461899
使用工具:eclipse
1.生成so文件
1.1.打开Eclipse,新建一个Android工程
FileàNewàAndroid Application Project
一路Next下去,直到Finish。
1.2.添加so文件
工程右键--Android Tools--AddNative Support...--输入lib.so文件名
这时候工程就会多一个jni的文件夹,jni下有Android.mk和**.cpp文件
Android.mk是NDK工程的Makefile,**.cpp就是NDK的源文件。
1.3.添加Application.mk文件到jni文件夹中
在文件中填写如下内容:
1.4.根据需要修改Android.mk
多个源文件使用空格隔开,例如:LOCAL_SRC_FILES:= test.c NdkTest.cpp
默认如下:
1.5.编写C/C++文件
函数名比较长但是完全按照:java_pacakege_class_mathod形式来命名
这个例子中,文件路径:MyNdkSoFileàjniàMyNdkSoFile.cpp
1.6.直接测试生成的so文件
static:表明程序开始运行的时候会加载该NDK, static区声明的代码会先于onCreate方法执行。
native:这个关键字表示这个方法是本地方法,也就是说这个方法是通过本地代码(C/C++)实现的,在java代码中仅仅是声明。
测试没问题,说明我们的so文件没问题。
2.使用SO文件
2.1.新建一个Android工程
2.2.修改生成so文件程序中C/C++文件中的函数名
具体参考上面1.5章节。
修改完成后,重新编译生成新的so文件
2.3拷贝so文件到应用程序中
四个文件夹里面的so文件对应不同的手机型号,方便起见,最好把这四个文件夹都拷贝。