https://blog.csdn.net/Young_Time/article/details/80346631
https://blog.csdn.net/yao_94/article/details/79151804
https://blog.csdn.net/u012737144/article/details/52943918
1.主要注意生成.h的时候,直接使用javah -d jni 类名,同时当前的目录要在类结构的外面,一般是java文件夹内
E:\andproject\app\src\main\java>javah -d jni he.MyApp.MyJniTest
he.MyApp.MyJniTest文件在java目录内
2.创建.c文件后,需要在上一步输出的jni文件夹内配置Android.mk和Application.mk
3.然后cd到jni目录下,使用命令行ndk-build生成so 文件
4.引用的时候在gradle.properties文件中添加
android.useDeprecatedNdk=true
在build.gradle中添加so的libs字段
sourceSets { main {
jniLibs.srcDirs = [‘src/main/java/libs‘]
jni.srcDirs = []//[‘src/main/java/jni‘, ‘src/main/jni/‘]
}
}
Android.mk
配置
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := MyJniTest
LOCAL_SRC_FILES := hello.c
include $(BUILD_SHARED_LIBRARY)
Application.mk
配置
APP_ABI := all
https://files.cnblogs.com/files/Fightingbirds/andproject.zip
原文:https://www.cnblogs.com/Fightingbirds/p/11268688.html