回答

收藏

【卓跃教育】Java语言与Android系统开发之间的联系

其他 其他 1285 人阅读 | 0 人回复 | 2012-11-09

新出生的事物,除了惊喜外,也会给我们带来一定的迷惑、误解。下面由卓跃教育继续为您介绍Java与安卓系统的关系。?
在Google中搜索“NDK”,很多“Android终于可以使用C++开发”之类的标题,这是一种对Android平台编程方式的误解。其实,
Android平台从诞生起,就已经支持C、C++开发。众所周知,Android的SDK基于Java(Java教程Java培训)实现,这意味着基于
AndroidSDK进行开发的第三方应用都必须使用Java语言。但这并不等同于“第三方应用只能使用Java”。在AndroidSDK首次发布
时,Google就宣称其虚拟机Dalvik支持JNI编程方式,也就是第三方应用完全可以通过JNI调用自己的C动态库,即在Android开发
平台上,“Java+C”的编程方式是一直都可以实现的。?
NDK是什么?
对NDK进行了粗略的研究后,我对“NDK是什么”的理解如下:?
1、NDK是一系列工具的集合。?
NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。这些工具对开发者
的帮助是巨大的。?
NDK集成了交叉编译器,并提供了相应的mk文件隔离CPU、平台、ABI等差异,开发人员只需要简单修改mk文件(指出“哪些文件需
要编译”、“编译特性要求”等),就可以创建出so。?
NDK可以自动地将so和Java应用一起打包,极大地减轻了开发人员的打包工作。?
2、NDK提供了一份稳定、功能有限的API头文件声明。?
Google明确声明该API是稳定的,在后续所有版本中都稳定支持当前发布的API。从该版本的NDK中看出,这些API支持的功能非常
有限,包含有:C标准库(libc)、标准数学库(libm)、压缩库(libz)、Log库(liblog)。
分享到:
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条