Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between Android SDK and NDK? [closed]

Tags:

I am about to start android application development.

From What is NDK? documentation I was not able to extract the following information:

Does using NDK actually introduce new features comparing to SDK?

I am interested in this because using NDK greatly increases application complexity, so if I am not interested in performance increase, are there other reasons to go for NDK?

What I mean is for example:

-restart phone

  • (I know neither SDK nor NDK allows this, I just use it as an example of what I mean) let's say java SDK does not allow this, but some native libraries do - then the answer to my question would be yes, NDK does add some functionality

Thanks in advance for any helpful answers.

like image 879
hendrix Avatar asked Oct 20 '11 16:10

hendrix


People also ask

What is the difference between SDK and NDK?

Android provides Native Development Kit (NDK) to support native development in C/C++, besides the Android Software Development Kit (Android SDK) which supports Java. [TODO] more. NDK is a complex and advanced topics.

Which is better NDK or SDK?

It is important to mention that some Android Apps use NDK to achieve a specific functionality. That makes NDK and SDK somehow complementary in some cases. However, Android still recommends to only used NDK if you really need to.

Do I need Android SDK and NDK tools?

If you are using the IL2CPP scripting back end for Android, you need the Android Native Development Kit (NDK). It contains the toolchains (such as compiler and linker) needed to build the necessary libraries, and finally produce the output package (APK).

What is Android SDK and NDK tools?

A software development kit (SDK) provides a set of files that are used to build applications for a target platform. When you develop applications for Android, the Android SDK and Android NDK are required on your development system, and they both need to be known to the SDK Manager.


1 Answers

You really should use SDK, unless you have a good reason to use NDK. Good reasons may vary, but for example, you could use NDK:

  • If you want to use OpenGL ES 2.0 for Android 2.1 (Eclair), it is only avaiable through NDK. The SDK support for OpenGL ES 2.0 began with the Froyo version.

  • If you want to use Renderscript

  • If you have a great portion of your app's logic written in C/C++

like image 102
Alesqui Avatar answered Sep 23 '22 02:09

Alesqui