Android JNI---入门了解

全名----Java native interface

看名字你就能知道这东西是做什么的了吧

为什么要有JNI?

实际使用中,Java 需要与 本地代码 进行交互

因为Java 具备跨平台的特点,所以ava 与 本地代码交互的能力非常弱

采用JNI特性 增强Java 与 本地代码交互的能力。

jni.h 有两份:

jnihJDK版本 与 NDK版本是不一样的:

NDK D: Android|Sdk\ndk\21.0.6113669\toolchains\|Ivm\prebuilt\windows-

x86_64|sysroot\usr\include\jni.h

JDK C:|Program Files|ava\jdk1.8.0_131\include\jni.h

NDK已经把JDK的jni封装好了,ndk里包含了gcc ,g++,jni,工具链等等。。。

签名规则

c/c++ 调用java对象的属性/方法的 签名规则。

常用规则如下:

java类型---属性类型符号

boolean-Z

byte--В

char-short-•S

int-long-float- F

double D

void-object--L完整的类名;

array[数组的数据类型method(参数类型)返回值类型 _ void name (int a, double b)

相关推荐
AC赳赳老秦36 分钟前
Dify工作流+DeepSeek:运维自动化闭环(数据采集→报告生成)
android·大数据·运维·数据库·人工智能·golang·deepseek
2501_9444241240 分钟前
Flutter for OpenHarmony游戏集合App实战之记忆翻牌配对消除
android·java·开发语言·javascript·windows·flutter·游戏
2501_9445264243 分钟前
Flutter for OpenHarmony 万能游戏库App实战 - 设置功能实现
android·javascript·flutter·游戏·harmonyos
冬奇Lab1 小时前
【Kotlin系列11】协程原理与实战(下):Flow与Channel驯服异步数据流
android·开发语言·kotlin
_昨日重现1 小时前
Jetpack系列之Compose Scaffold
android·android jetpack
2501_944424122 小时前
Flutter for OpenHarmony游戏集合App实战之数字拼图打乱排列
android·开发语言·flutter·游戏·harmonyos
文 丰2 小时前
【Android Studio】gradle下载慢解决方案(替换配置-非手工下载安装包)
android·ide·android studio
2501_944526422 小时前
Flutter for OpenHarmony 万能游戏库App实战 - 知识问答游戏实现
android·开发语言·javascript·python·flutter·游戏·harmonyos
路人与大师3 小时前
[深度架构] 拒绝 Prompt 爆炸:LLM Skills 的数学本质与“上下文压缩”工程论
android·架构·prompt
zhangphil3 小时前
Android系统如何把Bitmap通过RenderThread及GPU器件显示到屏幕
android