Android笔记之使用CMake进行JNI开发(Android Studio)
Android studio JNI开发环境配制:
方式一:项目开发的过程中加入JNI
步骤一:在module下创建CMakeLists.txt文件,并输入以下内容:
cmake_minimum_required(VERSION 3.6)
# 配置so库信息
add_library( # Sets the name of the library.
# 生成的so库名称,此处生成的so文件名称是libnative-lib.so
xjni
# Sets the library as a shared library.
# STATIC:静态库,是目标文件的归档文件,在链接其它目标的时候使用
# SHARED:动态库,会被动态链接,在运行时被加载
# MODULE:模块库,是不会被链接到其它目标中的插件,但是可能会在运行时使用dlopen-系列的函数动态链接
SHARED
# Provides a relative path to your source file(s).
# 资源文件,可以多个,
# 资源路径是相对路径,相对于本CMakeLists.txt所在目录
src/main/jni/XJni.c )
# 从系统查找依赖库
find_library( # Sets the name of the path variable.
# android系统每个类型的库会存放一个特定的位置,而log库存放在log-lib中
log-lib
# Specifies the name of the NDK library that
# you want CMake to locate.
# android系统在c环境下打log到logcat的库
log )
# 配置库的链接(依赖关系)
target_link_libraries( # Specifies the target library.
# 目标库
xjni
# Links the target library to the log library
# included in the NDK.
# 依赖于
${log-lib} )
步骤二:CMakeLists.txt文件与项目添加关联内容配制
选中当前项目Module,鼠标右键进入以下界面:
步骤三:创建JNI文件夹,并创建XJni.c文件并写入内容
#include <jni.h>
步骤四:创建XJni.java文件,并定义本地函数,截图如下:
步骤五:光标选中本地函数,快捷键ALT+ENTER 生成对应c函数与头文件,
选择create function后,函数就自动在XJni.c文件中生成了
运行项目后的界面: