android中jni的调用过程,Android 调用jni的过程简述

本文详细介绍了在Android Studio中使用JNI进行Java与本地代码交互的完整流程,包括Java声明native方法、使用javah生成头文件、编写本地代码、构建.so库以及加载和运行。同时,文章提到了两种不同的生成.so文件的方法,包括Android Studio的CMake集成和手动使用ndk-build。
摘要由CSDN通过智能技术生成

第1步:在Java中先声明一个native方法

第2步:编译Java源文件javac得到.class文件

第3步:通过javah -jni命令导出JNI的.h头文件

第4步:使用Java需要交互的本地代码,实现在Java中声明的Native方法(如果Java需要与C++交互,那么就用C++实现Java的Native方法。)

第5步:将本地代码编译成动态库(Windows系统下是.dll文件,如果是Linux系统下是.so文件,如果是Mac系统下是.jnilib)

第6步:通过Java命令执行Java程序,最终实现Java调用本地代码。

1、 在Java中先声明一个native方法,以HelloWorld.java类为例 如图:

26607d0fd2fa

image.png

2、编译Java源文件javac得到.class文件

1> 打开Android studio的Terminal 窗口

2> cd 到HelloWorld类的路径下。如图:

26607d0fd2fa

image.png

3>输入javac HelloWorld.java 然后回车:会生成一个HelloWorld类的class文件。(注:如果Android studio的是UTF-8,这个地方会报错,CMD命令行运行java程序的时候,系统默认的编码格式是gbk,所以需要 用-encoding指令来为文件指定编码格式, javac -encoding UTF-8 HelloWorld.java)

26607d0fd2fa

image.png

3、通过javah -jni命令导出JNI的.h头文件

1>通过Terminal 命令行 cd 到 Java文件夹的路径下。 如图:

26607d0fd2fa

image.png

2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值