深入浅出Android NDK之课程简介

目录

很早以前就想写一篇关于NDK的教程,只可惜一直没有时间。由于NDK在app中的使用场景有限,市面上介绍NDK的资料也是少之又少,所以NDK的学习难度相当之大。
从今天开始,我将向大家详细介绍NDK的使用教程。
提到NDK就不得不先说说JNI。
下面我们来聊聊NDK和JNI的区别。
NDK简单来说其实就是一个android平台上的C/C++编译器,主要负责将你的源代码编译为一个静态链接库,动态链接库,或者可执行文件。除些之外,ndk还提供了一些android平台特有的Api,比如怎么往Logcat输日志,怎么操作android的bitmap等等。
JNI是一套标准的Java代码和C/C++代码相互调用的API。不仅仅在android上使用,在windows、linux、mac等操作系统上同样可以使用,JNI接口主要做以下几件事:

  1. java代码调用C/C++函数。
  2. C/C++代码创建java对像,调用java对像的方法,读取、设置java对像的成员变量的值
  3. java和c/c++进行数据转换,比如java的int数组和C/C++数组的相互转换,java的字符串和C/C++字符串相互转换等等。
  4. java引用的管理,比如本地引用,全局引用,弱引用等等。

NDK的官方文档主要由google提供:
https://developer.android.google.cn/ndk/guides

JNI的官方文档主要由oracel提供:
https://docs.oracle.com/javase/7/docs/technotes/guides/jni/

本课程主要以入门和项目实战为目的,所以无论如何,官方文档都是最权威的,强烈建议大家都看一遍。
想当初为了学习jni,我把oracle的jni文档从头看到尾,我的英语也不好,没办法,遇到不懂的有道翻译,通过这种方式再加上自己的悟性和项目实战,最后才弄明白。
这几天偶然发现,原来有个强人把jni文档从头到尾用都翻译了,我看了一下,比用chrome浏览器翻译的要好。在这里附上链接:
Oracle官网JNI简介和接口函数分析

下一篇 深入浅出Android NDK之Hello-Ndk

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值