初探JNI

1 篇文章 0 订阅

首先要求: Android Studio 2.2 或更高版本与 Android Plugin for Gradle 版本 2.2.0
或更高版本

  • 下载NDK和构建工具
  • Android 原生开发工具包 (NDK):这套工具集允许您为 Android 使用 C 和 C++ 代码,并提供众多平台库,让您可以管理原生 Activity 和访问物理设备组件,例如传感器和触摸输入。
  • CMake:一款外部构建工具,可与 Gradle 搭配使用来构建原生库。如果您只计划使用 ndk-build,则不需要此组件。
  • LLDB:一种调试程序,Android Studio 使用它来调试原生代码。
    您可以使用 SDK 管理器安装这些组件:

  • 在打开的项目中,从菜单栏选择 Tools > Android > SDK Manager。
    点击 SDK Tools 标签。
    选中 LLDB、CMake 和 NDK 旁的复选框,如图 1 所示。
    这里写图片描述
    图 1. 从 SDK 管理器中安装 LLDB、CMake 和 NDK。

  • 点击 Apply,然后在弹出式对话框中点击 OK。

  • 安装完成后,点击 Finish,然后点击 OK。

以上选自向您的项目添加 C 和 C++ 代码

1、创建工程

勾选 include C++ support选项
勾选 include C++ support选项
2、
这里写图片描述

以下目录结构

native-lib.cpp

是创建工程时自动创建的C代码。

CMakeLists.txt

是(AS用于构建原生库的默认工具CMake的)构建脚本。

3、
这里写图片描述
创建class 并新建native方法,代码补全 create function 会将c方法生成在native-lib.cpp中,如图:
这里写图片描述

4、我们可以将新建的cpp文件放到自己命名的文件夹中,我的是jni
这里写图片描述

并将方法复制。
Ps:(include、extern “C” 缺一不可)

5、要指示CMake从原生源代码创建一个库,需要将add_library()命令添加到构建脚本中也就是CMakeLists.txt ,按上面的格式copy 修改即可。
这里写图片描述
6、System.loadLibrary一波就完事啦~
这里写图片描述
7、so文件以lib{libName}.so方式呈现
这里写图片描述
8、效果图
这里写图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值