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)

相关推荐
恋猫de小郭38 分钟前
Dart 4.0 要彻底移除 dart:mirrors,Augmentations 应该要来了
android·前端·flutter
Carson带你学Android2 小时前
Gemini 4 Argon 发布:对 Android 开发者意味着什么?
android·ai编程
事圆则缓3 小时前
Kotlin Flow、StateFlow、SharedFlow 全解析:冷流、热流与 Android 状态管理
android·kotlin·php
应用市场3 小时前
把旧 Pixel 变成相册备份中转站(上):Mac 到安卓的照片传输工具设计——流式上传、sha256 校验、adb forward 与 Bonjour
android·macos·adb·kotlin·swift
墨天梦3 小时前
B08_Fragment事务通信与双生命周期
android
Kapaseker4 小时前
Android 以后可能不会再有横竖屏适配了
android·kotlin
墨天梦4 小时前
B13_通知图片相机与影音
android·数码相机·kotlin
事圆则缓4 小时前
Android 一次性事件怎么设计:Channel、SharedFlow 还是 UI State?
android·ui
Android系统攻城狮17 小时前
Linux Gstreamer深度解析之gst_audio_encoder_set_frame_max调用流程与实战(六十一)
android·linux·运维·音视频·gstreamer音视频·音视频进阶·gstreamer音视频进阶
传奇开心果编程20 小时前
【Compose Multiplatform 跨端开发学与练】第7课 平台适配与互操作
android·windows·学习·ui·ios·kotlin·composer