NDK,JNI使用
Posted yaolunhui
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NDK,JNI使用相关的知识,希望对你有一定的参考价值。
下载NDK
解压后,设置javah路径,用于生成.h头文件
设置环境变量:Path: C:\\Program Files\\Java\\jdk1.8.0_101\\bin; (JDK地址)
android studio集成javah命令
设置External Tools,添加Javah
使用JNI
注册
static {
System.loadLibrary("JniTest"); //加载so文件
}
public static native String get_String();
生成.h文件,在对应.java上右键选择 External Tools->javah
配置可以使用NDK gradle.properties文件添加
android.useDeprecatedNdk=true
设置NDK路径: local.properties文件添加
ndk.dir=C\\:\\\\Users\\\\Administrator\\\\ndk
生成so文件 在build.gradle文件defaultConfig 节点添加
ndk{
moduleName = "JniTest" //需要调用的so文件名
}
在c里面实现方法
JNIEXPORT jstring JNICALL Java_com_example_administrator_work_MainActivity_get_1String
(JNIEnv *env, jclass obj){
return (*env).NewStringUTF("this is my library");
}
添加so文件
直接复制文件到src/main/jniLibs/目录下,没有就创建
在build.gradle(model)中的 android {节点 添加:
sourceSets {
main {
jniLibs.srcDirs = [\'Libs\']
}
}
以上是关于NDK,JNI使用的主要内容,如果未能解决你的问题,请参考以下文章
01_JNI是什么,为什么使用,怎么用JNI,Cygwin环境变量配置,NDK案例(使用Java调用C代码),javah命令使用