android jin .so库简单使用案例

最近没啥事,叫同学写了个.so回顾下android jni和NDK使用方式

demo(模拟器下测试,只有x86的.so库) https://download.csdn.net/download/qq_38355313/10657521

1、首先,项目需要安装NDK

这里写图片描述

2、安装好后创建项目,项目的包名要和.so的包名要一致(木子是叫同学写了包名为“com.nxm.mrsa”的.so库),所以在使用前首先弄清楚.so里面的包名,

这里写图片描述

3、项目gradle.properties文件下添加(android.useDeprecatedNdk=true)支持NDK

这里写图片描述

4、然后在src/mian下创建jniLibs文件夹,把包名拷贝进去(同学只给木子弄了个x86的,所以大多真机运行不了,建议使用模拟器测试),然后把.so库放到对应的文件夹下

这里写图片描述
放在libs文件夹下也可以此时需要在app下的build.gradle文件中的buildTypes下添加如下代码:
sourceSets{
main{
jniLibs.srcDirs = ['libs']
}
}

5、创建使用类,用于加载库和编写需要调用的native方法(注:此类需要放在包名路径下,其它包名藐视不行)

这里写图片描述

6、重点: System.loadLibrary(“calculator”);加载库时,需要把.so名称前面的lib和.so去掉

这里写图片描述

7、然后就可以调用了

这里写图片描述
这里写图片描述

总结:只要不搞错包名和相关路径,一般都能调通

发布了43 篇原创文章 · 获赞 9 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_38355313/article/details/82593440