sdk与ndk的区别

Posted georgeOfChina

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sdk与ndk的区别相关的知识,希望对你有一定的参考价值。

  android sdk (Android Software Development Kit, 即android软件开发工具包)可以说只要你使用java去开发Android这个东西就必须用到。他包含了SDK Manager 和 AVD Manage,对于android系统的一些开发版本的管理以及模拟器管理。它只能运行纯java程序,有了它模拟器才可以使用。

  而ndk (Native Development Kit)跟sdk差不多的是它也是一个开发工具包。用它开发c/c++是很方便的。他有一个强大的编译集合。Java调C、C++(jni接口),是一些java如何调C的代码。它会把C代码编译成一个.SO的动态库,通过jni接口用java代码去调用它,有了它我们可以直接在android代码中去添加C代码。 

       

  出现ndk的原因:

  很早以前android是只有sdk的。并没有ndk。这就意味着一旦android的开发者要使用c/c++的三方库或者需要用到c/c++就必须使用非官方的法子,用java的jni去调用c/c++。就像耍小聪明走后门一样。而ndk的出现就意味着jni调用的这种方法转正了变成官方了以后你不需要再走后面大路正面随你走。如果要操作底层直接操作内存,操作地址那不得不去使用c/c++因为java这块想做这些有点困难。所以ndk是必须需要出现的。对于android来说sdk和ndk是同种语言的2种不同时期的必须品。

 

 

http://blog.csdn.net/ffmxnjm/article/details/52159535

以上是关于sdk与ndk的区别的主要内容,如果未能解决你的问题,请参考以下文章

最小 SDK 版本/目标 SDK 版本与编译 SDK 版本有啥区别?

API和SDK的区别

SDK接口与API接口究竟有什么区别?

java sdk和java api 的区别

(转)Android的ADT与SDK的区别

sdk跟api的区别是啥?