| Android SDK | |
|---|---|
Icon representingAndroid Studio | |
| Developer | |
| Initial release | October 2009; 16 years ago (2009-10) |
| Stable release | |
| Written in | Java |
| Operating system | Cross-platform |
| Available in | English |
| Type | IDE,SDK |
| Website | developer |
TheAndroid SDK is asoftware development kit for theAndroid software ecosystem that includes a comprehensive set of development tools.[2][3] These include adebugger,libraries, a handsetemulator based onQEMU, documentation, sample code, and tutorials. The SDK is part of the officialAndroid Studio IDE but its various tools and resources can be used independently.
Currently supported development platforms include computers runningLinux (any modern desktopLinux distribution),Mac OS X 10.5.8 or later, andWindows 7 or later.
As of March 2015[update], the SDK is not available on Android itself, but software development is possible by using specialized Android applications.[4][5][6]
Until around the end of 2014, the officially-supportedintegrated development environment (IDE) wasEclipse using the Android Development Tools (ADT) Plugin.[7] As of 2015,Android Studio[8] is the official IDE; however, developers are free to use others, but Google made it clear that ADT was officially deprecated since the end of 2015 to focus on Android Studio as the official Android IDE. Additionally, developers may use any text editor to edit Java and XML files, then usecommand line tools (Java Development Kit andApache Ant are required) to create, build and debug Android applications as well as control attached Android devices (e.g., triggering a reboot, installing software package(s) remotely).[9][4][10]
Enhancements to Android's SDK go hand-in-hand with the overall Android platform development. The SDK also supports older versions of the Android platform in case developers wish to target their applications at older devices. Development tools are downloadable components, so after one has downloaded the latest version and platform, older platforms and tools can also be downloaded for compatibility testing.[11]
Android applications are packaged in.apk format and stored under/data/app folder on the Android OS (the folder is accessible only to the root user for security reasons). APK package contains .dex files[12] (compiled byte code files calledDalvik executables), resource files, etc.
The Android SDK Platform Tools are a separately downloadable subset of the full SDK, consisting of command-line tools such asAndroid Debug Bridge andfastboot.
In 2011, a vulnerability was found in the dexdump utility as it didn't validate structures, leading to crashes or possible exploitation. The vulnerability was registered asCVE-2011-1001.[13]
Another vulnerability was found in the host client implementation ofADB in 2014. A malicious user could gain access to the account of another user on the same system when that user executed an ADB command that connected to the malicious user's ADB server. The client had abuffer overflow vulnerability and wasn't compiled with any hardening options like anon-executable stack orASLR.[14]
{{cite book}}: CS1 maint: others (link)