Android 项目中使用 jni 有两种编译方案,一种是传统的ndk-build方案,一种是当前推荐使用的 cmake方案,本章主要介绍在Android Studio中采用ndk-build方式编译jni的配置方法,以及在配置过程中遇到的问题及解决方案。
一、 添加jni源码
1、 在工程的app/src/main/目录下新建jni目录,用来存放需要编译的jni的代码;
2、 将jni相关的代码拷贝到jni目录下,需包含Android.mk和Application.mk文件,简单代码如下所示:
1)Android.mk:
# 设置支持的android版本
APP_PLATFORM := android-19
APP_STL := gnustl_shared
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_LDLIBS :=-llog
# 定义生成的so库名称(libdemo.so),以及编译该库包含的源文件,
LOCAL_MODULE := demo
LOCAL_SRC_FILES := demo.c
# 定义生成动态so库
include $(BUILD_SHARED_LIBRARY)
2)Application.mk:
# 设置编译后生成的库文件存放的路径
APP_ABI := armeabi-v7a
二、 配置app/build.gradle文件
1) 在android节点下增加externalNativeBuild配置:
android {
externalNat