安卓JNI从0到1入门教程(一)

本文介绍了JNI的基本概念,包括其作为Java与C/C++交互的桥梁作用,以及NDK和CMake在构建原生代码中的应用。文章详细讲解了Android.mk、Application.mk和CMakeLists.txt的差异,并提到了JNI中的数据类型转换和函数命名规则。最后,概述了开发JNI的步骤,包括环境配置、代码编写和接口实现。

网上看了一些JNI的入门教程,对新手来说很不友好,容易看的人一脸懵,决定自己写一个从0到1的入门教程。

关于JNI,谷歌官方也提供了入门教程,详情请查看:NDK入门教程

一、简介

JNI(Java Native Interface)是Java编程语言提供的一种编程框架和技术,用于在Java应用程序中调用Native代码(通常是用C/C++编写的)以实现底层功能和与操作系统、硬件交互。JNI允许开发者编写用C/C++等本地语言编写的代码,然后通过JNI接口与Java代码进行交互。例如常见的音视频处理,图像处理,地图等等都会用到JNI。

二、NDK与CMake

原生开发套件 (NDK) 是一套工具,使您能够在 Android 应用中使用 C 和 C++ 代码,并提供众多平台库,您可使用这些平台库管理原生 activity 和访问实体设备组件,例如传感器和触控输入。

您可以在 Android Studio 2.2 或更高版本中使用 NDK 将 C 和 C++ 代码编译到Native库中,然后使用 Android Studio 的集成构建系统 Gradle 将Native库打包到 APK 中。Java 代码随后可以通过JNI框架调用Native库中的函数。

Android Studio 编译Native库的默认构建工具是 CMake。由于很多现有项目都使用 ndk-build 构建工具包,因此 Android Studio 也支持 ndk-build。不过,如果您要创建新的原生库,则应使用 CMake。CMake是一款外部构建工具,可与 Gradle 搭配使用来构建原生库。

ndk-build与CMake都是构建Native代码的工具,安卓 Gradle Plugin 4.0版本开始谷歌更推荐使用CMake。

三、Android.mk、Application.mk与CMakeLists.txt

CMakeLists.txtAndroid.mk都是用于构建和管理安卓应用中的本地代码的构建脚本文件。

CMakeLists.txt: 是CMake的配置文件,用于描述项目的构建过程和所需的构建设置。在安卓项目中,CMakeLists.txt文件通常位于app模块的根目录下。

CMakeLists.txt文件可以包含以下内容:

  • 定义构建的最低CMake版本。
  • 声明要构建的本地库。
  • 指定源代码文件。
  • 配置编译选项和链接库。
  • 定义生成的共享库的名称和属性。
  • 配置构建输出路径等。

使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猫King

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值