Developer(s) | Google, JetBrains |
---|---|
Stable release | |
Preview release | |
Written in | JavaScript, Kotlin and C++ |
Operating system | Windows, macOS, Linux (including ChromeOS) [3] |
Size | 8.1 to 9.5 GB [3] |
Type | Integrated development environment (IDE) |
License | Binaries: Freeware, [4] Source code: [5] [6] Apache License (except SDK updates with proprietary license)[ citation needed ] |
Website | developer |
Android Studio is the official [7] integrated development environment (IDE) for Google's Android operating system, built on JetBrains' IntelliJ IDEA software and designed specifically for Android development. [8] It is available for download on Windows, macOS and Linux based operating systems. [9] It is a replacement for the Eclipse Android Development Tools (E-ADT) as the primary IDE for native Android application development. Android Studio is licensed under the Apache license but it ships with some SDK updates that are under a non-free license, making it not open source. [10]
Android Studio was announced on May 16, 2013, at the Google I/O conference. It was in early access preview stage starting from version 0.1 in May 2013, then entered beta stage starting from version 0.8 which was released in June 2014. [11] The first stable build was released in December 2014, starting from version 1.0. [12] At the end of 2015, Google dropped support for Eclipse ADT, making Android Studio the only officially supported IDE for Android development. [13]
On May 7, 2019, Kotlin replaced Java as Google's preferred language for Android app development. [14] Java is still supported, as is C++. [15]
The following features are provided in the current stable version: [16] [17]
Android Studio supports all the same programming languages of IntelliJ (and CLion) e.g. Java, C++, and more with extensions, such as Go; [20] and Android Studio 3.0 or later supports Kotlin, [21] and "all Java 7 language features and a subset of Java 8 language features that vary by platform version." [22] External projects backport some Java 9 features. [23] While IntelliJ states that Android Studio supports all released Java versions, and Java 12, it's not clear to what level Android Studio supports Java versions up to Java 12 (the documentation mentions partial Java 8 support). At least some new language features up to Java 12 are usable in Android. [24]
Once an app has been compiled with Android Studio, it can be published on the Google Play Store. The application has to be in line with the Google Play Store developer content policy.
The following is a list of Android Studio's major releases: [25]
Version | Release date |
---|---|
1.0 | December 2014 |
1.1 | February 2015 |
1.2 | April 2015 |
1.3 | July 2015 |
1.4 | September 2015 |
1.5 | November 2015 |
2.0 | April 2016 |
2.1 | April 2016 |
2.2 | September 2016 |
2.3 | March 2017 |
3.0 | October 2017 |
3.1 | March 2018 |
3.2 | September 2018 |
3.3 | January 2019 |
3.4 | April 2019 [26] |
3.5 | August 2019 |
3.6 | February 2020 |
4.0 | May 2020 |
4.1 | Oct 2020 [27] |
4.2 | May 2021 [28] |
Arctic Fox (2020.3.1) | July 2021 [29] |
Bumblebee (2021.1.1) | January 2022 [30] |
Chipmunk (2021.2.1) | May 2022 [31] |
Dolphin (2021.3.1) | September 2022 [32] |
Electric Eel (2022.1.1) | January 2023 [33] |
Flamingo (2022.2.1) | April 2023 [34] |
Giraffe (2022.3.1) | July 2023 [35] |
Hedgehog (2023.1.1) | November 2023 [36] |
Iguana (2023.2.1) | February 2024 [37] |
Jellyfish (2023.3.1) | April 2024 [38] |
Koala (2024.1.1) | TBD |
Microsoft Windows | macOS | Linux | |
---|---|---|---|
Operating System Version | Microsoft Windows 8/10 (64-bit) | macOS 10.14 Mojave or newer | Any 64-bit Linux distribution that supports GNOME, KDE, or Unity; GNU C Library (glibc) 2.31 or later |
Required RAM | 8 GB or more | ||
Free space | 8 GB of available disk space minimum | ||
Minimum screen resolution | 1280 x 800 minimum screen resolution |
These features includes requirements for IDE + Android SDK + Android Emulator. [39]
The use of hardware acceleration has additional requirements on Windows and Linux:
For an attached webcam to work with Android 8.1 (API level 27) and higher system images, it must have the capability to capture 720p frames. [40]
In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.
Xen is a free and open-source type-1 hypervisor, providing services that allow multiple computer operating systems to execute on the same computer hardware concurrently. It was originally developed by the University of Cambridge Computer Laboratory and is now being developed by the Linux Foundation with support from Intel, Citrix, Arm Ltd, Huawei, AWS, Alibaba Cloud, AMD, Bitdefender and epam.
IntelliJ IDEA is an integrated development environment (IDE) written in Java for developing computer software written in Java, Kotlin, Groovy, and other JVM-based languages. It is developed by JetBrains and is available as an Apache 2 Licensed community edition, and in a proprietary commercial edition. Both can be used for commercial development.
QEMU is a free and open-source emulator. It emulates a computer's processor through dynamic binary translation and provides a set of different hardware and device models for the machine, enabling it to run a variety of guest operating systems. It can interoperate with Kernel-based Virtual Machine (KVM) to run virtual machines at near-native speed. QEMU can also do emulation for user-level processes, allowing applications compiled for one architecture to run on another.
The following tables list notable software packages that are nominal IDEs; standalone tools such as source-code editors and GUI builders are not included. These IDEs are listed in alphabetic order of the supported language.
The following is a timeline of virtualization development. In computing, virtualization is the use of a computer to simulate another computer. Through virtualization, a host simulates a guest by exposing virtual hardware devices, which may be done through software or by allowing access to a physical device connected to the machine.
Adobe AIR is a cross-platform runtime system currently developed by Harman International, in collaboration with Adobe Inc., for building desktop applications and mobile applications, programmed using Adobe Animate, ActionScript, and optionally Apache Flex. It was originally released in 2008. The runtime supports installable applications on Windows, macOS, and mobile operating systems, including Android, iOS, and BlackBerry Tablet OS.
Visual Studio is an integrated development environment (IDE) developed by Microsoft. It is used to develop computer programs including websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development platforms including Windows API, Windows Forms, Windows Presentation Foundation (WPF), Windows Store and Microsoft Silverlight. It can produce both native code and managed code.
OpenCL is a framework for writing programs that execute across heterogeneous platforms consisting of central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), field-programmable gate arrays (FPGAs) and other processors or hardware accelerators. OpenCL specifies programming languages for programming these devices and application programming interfaces (APIs) to control the platform and execute programs on the compute devices. OpenCL provides a standard interface for parallel computing using task- and data-based parallelism.
The Android SDK is a software development kit for the Android software ecosystem that includes a comprehensive set of development tools. These include a debugger, libraries, a handset emulator based on QEMU, documentation, sample code, and tutorials. The SDK is part of the official Android Studio IDE but its various tools and resources can be used independently.
A mobile development framework is a software framework that is designed to support mobile app development. It is a software library that provides a fundamental structure to support the development of applications for a specific environment.
Android software development is the process by which applications are created for devices running the Android operating system. Google states that "Android apps can be written using Kotlin, Java, and C++ languages" using the Android software development kit (SDK), while using other languages is also possible. All non-Java virtual machine (JVM) languages, such as Go, JavaScript, C, C++ or assembly, need the help of JVM language code, that may be supplied by tools, likely with restricted API support. Some programming languages and tools allow cross-platform app support. Third party tools, development environments, and language support have also continued to evolve and expand since the initial SDK was released in 2008. The official Android app distribution mechanism to end users is Google Play; it also allows staged gradual app release, as well as distribution of pre-release app versions to testers.
Xamarin is a Microsoft-owned San Francisco-based software company founded in May 2011 by the engineers that created Mono, Xamarin.Android and Xamarin.iOS, which are cross-platform implementations of the Common Language Infrastructure (CLI) and Common Language Specifications.
Dart is a programming language designed by Lars Bak and Kasper Lund and developed by Google. It can be used to develop web and mobile apps as well as server and desktop applications.
Codename One is an open-source cross-platform framework aiming to provide write once, run anywhere code for various mobile and desktop operating systems. It was created by the co-founders of the Lightweight User Interface Toolkit (LWUIT) project, Chen Fishbein and Shai Almog, and was first announced on January 13, 2012. It was described at the time by the authors as "a cross-device platform that allows you to write your code once in Java and have it work on all devices specifically: iPhone/iPad, Android, Blackberry, Windows Phone 7 and 8, J2ME devices, Windows Desktop, Mac OS, and Web. The biggest goals for the project are ease of use/RAD, deep integration with the native platform and speed."
JetBrains s.r.o. is a Czech software development private limited company which makes tools for software developers and project managers. The company has its headquarters in Prague, and has offices in China, Europe, and the United States.
Kotlin is a cross-platform, statically typed, general-purpose high-level programming language with type inference. Kotlin is designed to interoperate fully with Java, and the JVM version of Kotlin's standard library depends on the Java Class Library, but type inference allows its syntax to be more concise. Kotlin mainly targets the JVM, but also compiles to JavaScript or native code via LLVM. Language development costs are borne by JetBrains, while the Kotlin Foundation protects the Kotlin trademark.
Vulkan is a low-level, low-overhead cross-platform API and open standard for 3D graphics and computing. It was intended to address the shortcomings of OpenGL, and allow developers more control over the GPU. It is designed to support a wide variety of GPUs, CPUs and operating systems, it is also designed to work with modern multi-core CPUs.
Flutter is an open-source UI software development kit created by Google. It can be used to develop cross platform applications from a single codebase for the web, Fuchsia, Android, iOS, Linux, macOS, and Windows. First described in 2015, Flutter was released in May 2017. Flutter is used internally by Google in apps such as Google Pay and Google Earth as well as by other software developers including ByteDance and Alibaba.
DevEco Studio is the official integrated development environment (IDE) for Huawei's HarmonyOS operating system, built on JetBrains' IntelliJ IDEA software and Huawei's SmartAssist designed specifically for HarmonyOS development. It is available for download on Microsoft Windows and macOS based operating systems.
Supported IDEs [..] Android Studio 1.2.1+
Hopefully by the time Java 12 is actually released D8 will have implemented desugaring for Java 11's nestmates. Otherwise the pain of being stuck on Java 10 will go up quite a bit!