简单的JNI调用

这篇博客详细介绍了在Android Studio中使用JNI的步骤,包括NDK环境配置、JNI接口创建、头文件生成、C/C++源码实现、so库的编译以及最后在应用中调用JNI方法的过程。重点讲解了gradle3.0前后生成so文件的不同方法,并给出了错误提示的解决办法。
摘要由CSDN通过智能技术生成

准备工作:NKD环境搭建

  1. 使用Android studio 打开Project structure,在设置页面找到SDK location,可以设置NDK的路径,如果目前还没有NDK开发包,studio会提示你下载,下载完成后设置路径即可
    NDK路径设置
  2. 检查local.properties文件里面有没有NDK路径:这里写图片描述

开始创建JNI接口

  1. 新建一个类myJNI,然后添加JNI接口定义,如下所示,
 public static native String sayHello();

JNI接口需要用native关键字修饰,我们会看到方法名报红,没关系,我们继续创建JNI方法,图片中的方法名未报红是因为我们已经编译生成了.so文件。
2. build一下工程,检查myJNI.java编译后有没有生成class文件,在这个位置下:
app\build\intermediates\classes\debug\com\study\view\studytest\myJNI.class这里写图片描述
3. 使用javah生成.h头文件,具体如下:
打开Terminal,输入命令进入到debug目录下,命令如下:
cd app/build/intermediates/classes/debug
然后使用javah+包名+文件路径来生成头文件,命令如下:
javah com.study.view.studytest.myJNI
然后我们会发现在app\build\intermediates\classes\debug\com\study\view\studytes目录下会有一个.h的文件生成这里写图片描述
4. 有个.h头文件后,我们去实现.h文件里的方法,我们在main下新建一个jni文件夹,如图:新建jni文件夹
把生成的.h文件拷贝到jni文件夹下,在jni文件夹下,新建一个.c(c语言)或者.cpp(c++)的文件,来实现.h文件里声明

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值