zoukankan      html  css  js  c++  java
  • NDK,JNI使用

    下载NDK

    解压后,设置javah路径,用于生成.h头文件

    设置环境变量:Path:  C:Program FilesJavajdk1.8.0_101in; (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']
    }
    }

  • 相关阅读:
    applycationContext.xml文件配置信息
    原生json的异步操作
    解析xm文件
    druid(德鲁伊)连接池的DataSourceUtils的写法及原生写法
    MYSQL的JDBCUtils的写法
    模拟服务器
    关于函数式接口
    浅谈树和二叉树
    &和&&的区别
    全排列问题(c语言实现)
  • 原文地址:https://www.cnblogs.com/hui413027075/p/6478857.html
Copyright © 2011-2022 走看看