Android自助餐之Jni(一)最简单的运行
Android自助餐专栏
Android自助餐之Jni(一)最简单的运行
Android自助餐之Jni(二)静态导入so文件
Android自助餐之Jni(三)动态导入so文件
Android自助餐之Jni(四)在线导入so文件
Android自助餐之Jni(五)进阶
Android自助餐之Jni(六)NDK入门
新建Module
这个不用多说,按常规的来就行
创建一个类,最好独立一个包
比如com.xmh.jni.JniUtil.java
public class JniUtil {
static {
System.loadLibrary("JniLibDemo");
}
public native String getResult(String value);
}
创建c文件
在main文件夹上右键->new->folder->JniFolder
然后在这个jni文件夹下创建一个jnidemo.c
#include "jni.h"
#include <stdio.h>
JNIEXPORT jstring JNICALL
Java_com_xmh_jni_JniUtil_getResult(JNIEnv *env,jobject obj,jstring value){
char * str;
str=(*env)->GetStringUTFChars(env,value,NULL);
sprintf(str,"%s-_-%s",str,str);
return (*env)->NewStringUTF(env, str);
}
在需要的地方调用
textview.setText(new JniUtil().getResult("xmh"));
配置build.grandle
android {
//...
defaultConfig {
//...
ndk{
moduleName "JniLibDemo"
}
}
}