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)

相关推荐
darkb1rd13 小时前
五、PHP类型转换与类型安全
android·安全·php
gjxDaniel13 小时前
Kotlin编程语言入门与常见问题
android·开发语言·kotlin
csj5013 小时前
安卓基础之《(22)—高级控件(4)碎片Fragment》
android
峥嵘life14 小时前
Android16 【CTS】CtsMediaCodecTestCases等一些列Media测试存在Failed项
android·linux·学习
stevenzqzq15 小时前
Compose 中的状态可变性体系
android·compose
似霰15 小时前
Linux timerfd 的基本使用
android·linux·c++
darling33117 小时前
mysql 自动备份以及远程传输脚本,异地备份
android·数据库·mysql·adb
你刷碗17 小时前
基于S32K144 CESc生成随机数
android·java·数据库
TheNextByte118 小时前
Android上的蓝牙文件传输:跨设备无缝共享
android
言之。18 小时前
Kotlin快速入门
android·开发语言·kotlin