Android中NDK的so文件产生和使用
16lz
2021-01-24
参考:http://blog.csdn.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文件对应不同的手机型号,方便起见,最好把这四个文件夹都拷贝。
2.4调用so文件,查看效果
源码下载
更多相关文章
- 一款常用的 Squid 日志分析工具
- GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
- RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
- Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
- ubuntu环境下反编译android apk
- 在android studio中配置ndk开发环境
- Theme.Holo主题 中tab同时显示图片和文字
- android 通过文件名获取SD卡视频缩略图
- Fragment Management