Android NDK: Native Development Kit 入坑篇

Android NDK: Native Development Kit 入坑篇

 **在android中加入NDK可以完成在Android设备中调用、运行C/C++代码。使用NDK可以集成Native 与 Java代码,NDK可以让我们的Java代码直接使用JNI来调用C/C++代码**

NDK的使用

一般情况下我们只会在如下的几种情况下才会使用到NDK
1. Java代码运行的太慢而你需要提高它的效率,可以使用NDK来调用C/C++提高程序的运行效率从而达到提高运行效率的目的
2. 当使用到C/C++的库时
3. 当你需要从外部导入C/C++代码时 最常见的就是体现在人机交互的部分,因为本身Java能达到的运行效率已经很高了。只有在特定的需要达到更高效率的时候才会考虑使用NDK

使用Android Studio开发NDK程序:

  1. 首先在需要调用的类中导入库
  2. 声明Native的函数
  3. 使用System.LoadLibrary调用C程序
  4. build需要调用Native函数的类生成classes
  5. 使用Javah生成头文件,并创建JNI文件夹
  6. cmd进入app_path/app/src/main/:javah -d jni -classpath android_sdk_path/android.jar;classes_name
  7. 创建C/C++程序并included头文件
  8. 设置NDK路径包括(local.properties) 及Gradle文件(build.gradle)
  9. 编译NDK程序并生成class_name.so文件
  10. 配置Android程序的local.properties文件:主要配置文件中的NDK的路径
  11. 配置Adnroid程序的app中的build.gradle文件:主要配置defaultConfig中的ndk当中的ndkName一定要与System.LoadLibrary调用C程序名称相一致。abiFilters 指定生成适用版本*.so文件
  12. 编译运行~

注意:编写C文件的时候名称一定要与调用的类的类名相一致,否则调用的时候库找不到相对应的函数则会导致Android SDK的崩溃

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值