文章目录

  • 1、简介
  • 2、获取标准 so 库 包名和 接口说明
  • 3、新项目引用 标准 so 库
  • 1) 新建android studio 项目
  • 2)创建 jniLibs 文件夹拷贝库
  • 3)、java 文件目录创建so库引用相同的包名文件名
  • 4)、对 so 库的引用
  • 4、对非标准 so 库的引用


1、简介

这里的 so 库 是标准的 so 库,有完整的 包名和接口文档说明,则这样就可以直接在上层创建 相应的java 层接口,直接调用库方法。

2、获取标准 so 库 包名和 接口说明

就像上节我们创建的标准 so 库

android  studio  编译 jni 调用标准的so库 (2)_so库

根据别人文档我们获取:
包名路径 : com.example.myjnitest
创建的java 层文件 类:JNICallerNative.java
java 层调用的方法: getStringFromNative
so 库支持的架构:armeabi-v7a

3、新项目引用 标准 so 库
1) 新建android studio 项目
2)创建 jniLibs 文件夹拷贝库

(1)main 文件夹下创建 jniLibs 文件夹

(2)jniLibs 文件下创建对应架构文件夹

(3)将对应的架构so 库拷贝到 文件下

android  studio  编译 jni 调用标准的so库 (2)_java_02

3)、java 文件目录创建so库引用相同的包名文件名

包名路径 : com.example.myjnitest
创建的java 层文件 类:JNICallerNative.java
java 层调用的方法: getStringFromNative

android  studio  编译 jni 调用标准的so库 (2)_java_03

4)、对 so 库的引用

我们 在住函数里尝试对so 库方法的引用

android  studio  编译 jni 调用标准的so库 (2)_java_04


log 显示:

android  studio  编译 jni 调用标准的so库 (2)_java_05


我们可以看到 我们可以调用到 上次我们so 库 里面的方法。

4、对非标准 so 库的引用

android studio jni 调用 第三方 非标准 so库