1、采用最简单直接的方式导入s0文件:在app下新建jniLibs/armeabi目录,并将指定so文件拷贝到这一目录。
2、一般来说其他第三方的开放平台的so文件都是已经把对应的本地Java接口类一起封装到so或者其他库文件里了,我们不需要自己去定义自己的本地接口类,假如说第三方只是提供了so文件,那么就需要我们去定义jni接口类这个类并不能是随意的,必须是和so文件里定义的方法名的一一对应,即包名和类名必须一致,否则会发生编译通过加载的时候就出错。在本次导入so文件时,未能找到对应Java类,故需自行定义。
2.1、首先利用nu -D xxx.so查看so文件中java类与函数的定义方式:
2.2、按照对应包的路径,在java目录下新建SoundAuthentication类(com.aw.SoundAuthentication)。
2.3、在新建类中加载指定so包与对应函数(函数声明时需要按照so提供者声明的函数的定义,故若不知时,最好先咨询so文件提供者函数的定义方式是啥,否则无法生效)。
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!