ADK vs JDK vs SDK difference?

In-young Choung picture In-young Choung · Feb 7, 2016 · Viewed 9.8k times · Source

Lately, I am quite overwhelmed with the words that end with "DK".

I know what these abbreviations stand for. ADK: Accessory Development Kit (Android) JDK: Java Development Kit SDK: Software Development Kit

But I am still confused what they actually do. In my Android Studio, there are .java and .xml, etc.

Is ADK used for .xml files? Is JDK used for .java files? how about SDK?

Sorry if it may be like a silly question but I'd appreciate if someone clarifies this for me.

Thanks!

Answer

Talon picture Talon · Feb 7, 2016

SDK is an acronym for Software Development Kit. This isn't specific to Java as you can have an SDK for pretty much any language. It is pretty much just a term for a package that would have the tools to build stuff with its associated language.

JDK is the Java Development Kit. This what you would use to develop Java applications. It contains the jars, libraries, and tools to allow you write and compile java files that can run on the JRE (Java Runtime Environment). If you only have a JDK installed on your system, then you are going to have a hard time developing for Android since key packages are not there. You would have to install them yourself.

ADK is Android Development Kit. It is essentially Java but customized with Android code. It also contains the support for emulators and tools to help with developing Android apps. You can write regular ole java apps with an ADK since at its core, it is java. It just have a great deal of other classes that work specifically for android development.

Android Studio is just a customized version IntelliJ IDE. Regular IntelliJ is used for Java development where Android Studio is the exact same thing, just with added Android development tools. Can you build Java programs in Android Studio? You sure can because at its core it is a Java IDE.

TLDR; SDK is a blanket term for any package of development tools for a language. ADK is a Java development kit but it's customized for Android-specific development. JDK is the Java Development Kit for developing Java applications.