android jni生成so

…衆ロ難τιáo~ 提交于 2019-11-27 07:24:24

环境配置
进入android studio->setting->external Tools,创建Group命名NDK
命名1
name:javah,description:javah,
Program:$JDKPath$\bin\javah.exe,
Parameter:$FileClass$
Working directroy:$ModuleFileDir$\src\main\java
命名2
name:ndk-build,description:ndk-build,
Program(本地ndk路径,没有的话需下载):xxxxx\ndk-build.cmd,
Parameter:空
Working directroy:$ModuleFileDir$\src\main
创建好之后选中项目右击会出现NDK选项指向javah和ndk-build
配置文件创建
1、main下新建jni目录
2、在项目目录下新建MyJni.java:例如
public class MyJni {

static {
    System.loadLibrary("MyJni");
}

public native static String getString();

}
3、选中MyJni右击选NDK->javah生成 MyJni.h并放入jni目录下
6、jni目录下根据MyJni.h创建Test.c文件:例
#include “jni.h”
#include “com_brotherd_jnihelloworld_MyJni.h”

JNIEXPORT jstring JNICALL Java_com_brotherd_jnihelloworld_MyJni_getString
(JNIEnv *env, jclass jz){

return (*env)->NewStringUTF(env,“this is the first time for me to use jni”);

}
备注:com_brotherd_jnihelloworld代表包名前缀
5、jni目录下创建Application.mk,属性内容APP_ABI:=all
6、jni目录下创建Android.mk,属性内容
LOCAL_PATH:=$(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE:=MyJni
LOCAL_SRC_FILES:=Test.c
include $(BUILD_SHARED_LIBRARY)
7、右击jni->NDK->ndk-build,执行结束,查看lib下会生成相应的so库。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!