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

今天要说的是如何在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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值