To build Android applications generally you should have JDK, Android SDK, and a development environment.

programming languages for android

The official languages for android development are Kotlin and Java. So you need install JDK.

But is is possible to use other languages like C/C++, JavaScript, Python etc.

android sdk

Android SDK is a collection of software development tools and libraries required to develop Android applications.

Android SDK is bundled in Android Studio, but you can use it independently. sdkmanager is a command line tool that allows you to view, install, update, and uninstall Android SDKs.

Main packages of Android SDK are:

  • Android SDK Build-Tools is requred package that includes tools to build Android apps.
  • Android SDK Platform-Tools is requred package that includes various tools required by the Android platform, including the adb tool.
  • Android SDK Tools is requred package that includes essential tools such as ProGuard.
  • Android Emulator is recommended package, that includes A QEMU-based device-emulation tool. It allows run, test and debug apps without real devices, for example:
    • simulate phone calls and text messages
    • simulate different network speeds
    • specify the location of the device
    • simulate hardware sensors such as rotation

IDEs for android

There are many IDE that have built-in support of Android or allows android development via plugins.

Android Studio

It is official IDE based on IntelliJ.

Dowload Android Studio.

Java IDE

You can use most popular Java IDE such IntelliJ IDE, Eclipse and NetBeans.

Apache Cordova

There is Apache Cordova open-source framework, that allows reuse web skills to build "hybryd" mobile apps. The application itself is implemented as a web page, by default a local file named index.html, that references CSS, JavaScript, images, media files, or other resources are necessary for it to run. The app executes in a WebView within the native application wrapper, which you distribute to app stores.