当前位置: 首页 > article >正文

Android NDK --- JNI从入门到基础的全面掌握 (上)

引言

先问 jni是什么?

jni和ndk 的关系?

答: java调用 C、C++ 的代码。  两者一个是调用,一个是用c 、c++ 写 。 

这两个问题问出来似乎知道又好像不知道。

正文

jni 概述

定义:java Native Interface 即 java本地接口

作用: 使得java 与本地其他语言(C/ C++)交互

jni是 java 调用 Native 语言的一种特性。

jni 是属于java的和Android 无直接关。

实际中,驱动都是 C/C++ 开发的。通过JNI , java 可以调用c/C++ 实现的驱动,从而扩展java虚拟机的能力。(java代码 里调用 C/C++ 等语言代码 , c/c++ 代码调用java代码  )

jni最新 api地址:

Java Native Interface Specification Contents

为什么要有jni

实际使用中,  java 需要调用本地代码进行交互。

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

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

jni我们可以理解为一个翻译器。 JNIEnv 就是一个桥梁   学习核心就是它。

JNI和NDK关系

jni 是  java 平台jdk 提供的一套非常强大的框架  java Native Interface

相互调用交互通信 : C/ C++  Native   <---->  java/kotlin

NDK : android 平台 提供的Native 开发工具包 Native Development Kit  后面把开始的jni,拿到ndk里面进行封装。

下一篇

Android NDK --- JNI从入门到基础的全面掌握 (下)-CSDN博客


http://www.kler.cn/a/594493.html

相关文章:

  • JSON 解析中需要清理的危险字符
  • 【Linux】VMware17 安装 Ubuntu24.04 虚拟机
  • JavaScript 中的模块化开发:从 CommonJS 到 ES6 Modules
  • 如何处理 React 应用中的状态管理?
  • 什么是 React 的 Fragment?
  • OpenCSG GUI模型:引领Compute Use自动化新时代
  • 【SpringCloud】Eureka、LoadBalancer和Nacos
  • 调研报告:Hadoop 3.x Ozone 全景解析
  • NLP 与常见的nlp应用
  • 计算机视觉技术探索:美颜SDK如何利用深度学习优化美颜、滤镜功能?
  • 【Axure视频教程】数字滚动效果
  • ChatTTS 开源文本转语音模型本地部署 API 使用和搭建 WebUI 界面
  • 聚类算法api初步使用
  • DeepSeek 模型的成本效益深度解析:低成本、高性能的AI新选择
  • stm32完全学习——NRF24L01模块
  • 微服务》》Kubernetes (K8S) 集群 安装
  • 界面控件DevExpress WinForms v25.1预览 - 提升.NET开发效率
  • SpringAOP 切面类添加@RefreshScope导致逻辑执行两遍原因
  • SQL 中 WHERE 与 HAVING 子句的使用
  • STM32工程模板及文件作用