Java动态生成JNI库工具_JNI的使用与So库的生成

一、前言

JNI是Java Native Interface的缩写,它的主要作用是提供了若干API来实现Java和其他语言的通信(主要是C和C++)。

NDK是一系列工具的集合,它可以帮助开发者快速开发C(或者C++)的动态库(也称So库),并So库和Java应用一起打包。

JNI的使用就是需要将C(或者C++)代码编译成动态库供Java方法调用。

本文的内容是基于Android Studio的,其他使用命令行或者其他工具生成So库的方法请另行查找。

二、生成So库的步骤(方法一)

1、下载并配置NDK

首先在Android Studio中的Preferences找到Android SDK,并在SDK Tools这一栏中找到NDK,然后下载。如下图所示:

50af2b92fa94

下载NDK

下载完NDK后,去local.properties文件中查看是否定义了ndk的存储路径,如下图所示:

50af2b92fa94

定义ndk的存储路径

然后到gradle.properties文件中添加android.useDeprecateNdk=true,表示我们的应用需要使用NDK,如下图所示:

50af2b92fa94

gradle.properties文件的配置

最后在app/build.gradle中配置ndk指定So库的名字为jni-test(如果不指定则生成的So库的默认名字为app),如下图所示:

50af2b92fa94

build.gradle中指定So库的名字

2、编写Java调用类

如下图所示,我们定义了一个Java调用类。如下图所示:

50af2b92fa94

Java调用类

Java调用类的说明:

1、静态代码块表明了该

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值