最新Android-JNI学习(二)-使用.so文件

一、将在上篇文章中获取到so文件复制到当前的工程中,存放的位置有两种办法
1.将文件复制到libs文件夹下
这里写图片描述
然后在gradle中android下添加
sourceSets {
main {
jniLibs.srcDirs = [‘libs’]
}
}

2.创建jnilibs文件夹,然后将文件复制进去
这里写图片描述

二、在当前的工程中,使用so文件。 so文件其实封装的就是c或c++中的内容。里面没有java代码,因此,我们先前项目中的JNIUtils.java类还是需要的。并且保证在新项目中这个类的类的路径和原项目中的路径保持一致。
新项目中包路径

这里写图片描述
和原项目中的包路径保持一致。
这里写图片描述
否则会报错
Caused by: java.lang.UnsatisfiedLinkError: No implementation found for
java.lang.String com.example.userso.JNIUtils.sayHelloFromJNI() (tried
Java_com_example_userso_JNIUtils_sayHelloFromJNI and
Java_com_example_userso_JNIUtils_sayHelloFromJNI__)
三、在activity中进行调用。然后就成功了。

猜你喜欢

转载自blog.csdn.net/yuezheyue123/article/details/81028291