Android Studio 下的NDK环境搭建与JNI调用

来源:互联网 发布:币交易平台 源码 编辑:程序博客网 时间:2024/05/21 06:51

今天要说的是如何在Android Studio下的NDK的配置和使用

起始这样的话题在网上一大把大把的,为何还拿出来说呢?以前是用Eclipse做NDK的,但是现在用AS了,当然的不同,然后自己百度了下,发现大部分都是相互的抄来

抄去的,很多的东西结果还是没有说清楚,最后按照别人说的还是搞不出来,无奈只能自己的参考着别人的 结合自己的情况,最终完成,所以保存着算是一个教程吧。

以下是自己总结的几个步骤了:

//    1. 在类里定义native方法  顺便make编译一下
         public native String getName() ;
//    2. 在AS里打开cmd 进入到项目moudel中的java目录执行javah命令://    javah -jni -d ../jni/ + 写有native方法的类名(包含包名) 生成.h文件到jni目录中
//    3. jni目录中新建一个c文件,把生成的头文件中的 JNIEXPORT 部分代码实现(实现native方法)
#include "com_newer_jni2_MainActivity.h"JNIEXPORT jstring JNICALL Java_com_newer_jni2_MainActivity_getName        (JNIEnv *env , jobject jobj){    return (*env)->NewStringUTF(env,"来自c语言的内容!");}

//    4. 打开build.gradle文件,在defaultConfig中加入:    
ndk{        moduleName "你的库名" //定义库名   }
//    5. 在你要使用native方法的类中添加:    
static{        System.loadLibrary("你的库名");    }
//    6. 如果没有设置NDK路径请到 file -> project structure中设置,没有NDK?推荐给网站:
          NDK下载
//    7. make一下会有错误提示,根据错误提示,在gradle.properties中添加:
android.useDeprecatedNdk=true
//    8. 编译运行即可(中间的几个步骤可以make一下)
   可能当中会有些错误,自己更改下顺序就可以了。

0 0
原创粉丝点击