Android自助餐之Jni(二)静态导入so文件

来源:互联网 发布:093b核潜艇相关数据 编辑:程序博客网 时间:2024/05/16 08:54

Android自助餐之Jni(二)静态导入so文件

  • Android自助餐之Jni二静态导入so文件
      • Android自助餐专栏
      • Android自助餐之Jni一最简单的运行
      • Android自助餐之Jni二静态导入so文件
      • Android自助餐之Jni三动态导入so文件
      • Android自助餐之Jni四在线导入so文件
      • Android自助餐之Jni五进阶
      • Android自助餐之Jni六NDK入门
      • 下载完整源代码
    • 拷贝so文件
    • 配置buildgrandle
    • 创建jni对应类
    • 在需要的地方调用

Android自助餐专栏

Android自助餐之Jni(一)最简单的运行

Android自助餐之Jni(二)静态导入so文件

Android自助餐之Jni(三)动态导入so文件

Android自助餐之Jni(四)在线导入so文件

Android自助餐之Jni(五)进阶

Android自助餐之Jni(六)NDK入门

下载完整源代码

拷贝so文件

将so文件及其文件夹(armeabi等)复制到libs文件夹

配置build.grandle

在android下添加

sourceSets {    main {        jniLibs.srcDirs = ['libs']    }}

创建jni对应类

本实例已知c文件内容如下

JNIEXPORT jstring JNICALLJava_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);}

因此所创建的类完整类名为:com.xmh.jni.JniUtil。文件内容如下

public class JniUtil {    static {        System.loadLibrary("JniLibDemo");    }    public native String getResult(String value);}

在需要的地方调用

new JniUtil().getResult("xmh");
0 0
原创粉丝点击