Android Studio—— jni初体验(一)

3 篇文章 0 订阅

Android 中使用JNI是干啥的?

具体原理不是很清楚,只知道JNI允许Java语言和c/c++语言进行交互。

项目当中如何实现?

1> 使用源码

2> 使用.so库

项目中如何使用源码?

1.1:在main目录下创建 jni folder

1.2:src目录下创建实现native方法的类

1.3:需要配置Ndk,File --> Project Structure --> Android Ndk Location中选择Ndk路径,解压选择到ndk-bundle目录

1.4:选择Build-->ReBuild Project后,在build -->intermediates --> classes --> debug 中找到.h头文件并拷贝到已创建的jni文件夹下

1.5:已创建好的jni文件夹下新建.c文件include 头文件,实现native方法,注意方法名是以 Java_包名_类名_方法名这样命名的,不可有误,否则找不到此方法

1.6:打开app下的gradle文件,defaultConfig下添加ndk{moduleName "so库名字" abiFilters "armeabi"..}

1.7: gradle.properties 文件中添加 android.useDeprecatedNdk=true

1.8: Activity中使用时,需要先加载 static{System.loadLibrary("so库名字");} 后再调用

项目中如何使用so库

2.1:so库也是源码编译生成,将so库导入到libs下对应的类型中,gradle文件中进行配置:

ndk{
    abiFilters "armeabi"
}
2.2:src目录下创建实现native方法的类
2.3:Activity中使用时同上需要先加载
 
根据以上步骤,已实现与c语言交互的功能
因是初次使用,有问题的地方希望多包含并讨论。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值