Android software development

from Wikipedia, the free encyclopedia
The Android stack
The Nexus 4 , part of the Google Nexus series, a line of "developer-friendly" devices

Android software development is the process by which mobile apps are created for devices running the Android operating system . Using the Android Software Development Kit (SDK), Android apps can be written with the programming languages Kotlin , Java and C ++ . The Android Native Development Kit (NDK) also allows parts of the apps to be implemented in native code with languages ​​such as C or C ++. Some languages ​​and programming tools enable cross-platform app support. Third-party tools, development environments, and language support have also evolved since the first SDK was released in 2008.

Official development tools

Android SDK

Android SDK
Basic data

developer Google
Publishing year October 2009
Current  version 26.1.1 / September 2017
operating system platform independent
programming language Java
category SDK
License Android Open Source Project
developer.android.com/sdk

The Android Software Development Kit (SDK) includes numerous development tools . This includes a debugger , libraries , a smartphone emulator based on QEMU , documentation , sample code and tutorials. Currently supported development platforms are computers with a modern GNU / Linux distribution , macOS (at least 10.10), Windows (at least 7) ​​and Chrome OS . As of March 2015, the SDK is no longer available on Android itself, but software development is possible with special Android applications.

Until about the end of 2014, the officially supported integrated development environment (IDE) was Eclipse with the Android Development Tools (ADT). Since 2015, Google's Android Studio , based on IntelliJ IDEA Community Edition , has been the official IDE. Developers can use other IDEs as well, with ADT officially obsolete in late 2015 and no longer being developed to focus on Android Studio as the official Android IDE. For example, NetBeans supports Android development via a plugin. In addition, developers can use any text editor to edit Java and XML files. Command line tools ( Java Development Kit and Apache Ant are required) can then be used to develop, generate and debug Android applications and control connected Android devices (e.g. triggering a restart, remote installation of software packages).

Improvements to the Android SDK go hand in hand with the development of the entire Android platform. The SDK also supports older versions of the Android platform in case developers want to target their applications to older devices. Development tools are downloadable components so that after downloading the latest version and platform, older platforms and tools for compatibility tests can also be downloaded.

Android applications are packaged in .apk format and are mainly /data/appstored in the folder in the Android operating system (the folder is only accessible to the root user for security reasons ).

Android SDK Platform Tools

The Android SDK Platform Tools are a separately downloadable subset of the full SDK, consisting of command line tools such as ADB and Fastboot.

Android Debug Bridge (ADB)

The Android Debug Bridge (ADB) is a tool to execute commands on a connected Android device. The adbd- daemon running on the device while the adbclient starts a background server to commands that are sent to devices to bundle. In addition to the command line, there are numerous graphical user interfaces for controlling ADB.

The format for executing commands is typically:

adb [-d|-e|-s <Seriennummer>] <Befehl>
dabei -d zur Weiterleitung des Befehls an das einzige angeschlossene USB-Gerät,
      -e zur Weiterleitung des Befehls an den einzigen laufenden Android-Emulator,
      -s <Seriennummer> zur Angabe des USB-Geräts durch seine eindeutige Seriennummer.
Wenn es nur ein angeschlossenes Gerät oder einen laufenden Emulator gibt, sind diese Optionen nicht erforderlich.

Android applications can be backupsaved to a file with the command whose name is by default backup.ab.

Fastboot

Fastboot is a protocol that is included in the SDK package and serves primarily the flash - file system from to, for example, one-Customized modify via a USB connection from the host computer recovery to install system. It requires that the device be started in a boot loader or secondary program loader mode in which only the most basic hardware initialization takes place. After the protocol has been activated on the device itself, it accepts a specific set of commands sent to the device via USB on a command line. The most common fastboot commands include:

  • flash - rewrites a partition with a binary image stored on the host computer
  • erase - erases a specific partition
  • reboot - starts the device either into the main operating system, the system recovery partition or back into the bootloader
  • devices - displays a list of all devices (with serial number) connected to the host computer
  • format - formats a specific partition; the file system of the partition must be recognized by the device

Android NDK

Android NDK
Basic data

developer Google
Publishing year June 2009
Current  version r20 / June 2019
operating system IA-32 (Windows only) or x86-64 (Windows, macOS, and Linux)
programming language C and C ++
category SDK
License Android Open Source Project
developer.android.com/ndk

Code written in C / C ++ can be compiled into ARM or x86 machine code (or its 64-bit variants) using the Android Native Development Kit (NDK) . The NDK uses the Clang compiler to compile C / C ++. GCC was also included up to NDK r17, but was removed from NDK r18 in 2018.

Native libraries can be called with System.loadLibrary, part of the standard Android Java classes, from Java code running under the Android runtime .

Command line tools can be compiled with the NDK and installed using ADB.

Android uses Bionic as the C standard library and LLVM libc ++ as the C ++ standard library . The NDK also contains a variety of other APIs: Zlib compression, OpenGL ES or Vulkan graphics and OpenSL ES audio as well as various Android-specific APIs, for example for logging , access to cameras or acceleration of neural networks .

The NDK offers support for CMake and its own ndk-build(based on GNU Make ). Android Studio supports running both tools from within Gradle . Third-party tools enable the NDK to be integrated into Eclipse and Visual Studio.

For CPU profiling, the NDK also includes simpleperf, which is similar to the Linux Perf tool, but offers better support for Android and especially for mixed Java / C ++ stacks.

Android Open Accessory Development Kit

Android 3.1 (also backported to Android 2.3.4) introduced Android Open Accessory support, which enables external USB hardware to interact with an Android device in a special “accessory” mode. If an Android device is in accessory mode, the connected accessory acts as a USB host (supplies the bus and registers devices) and the Android device as a USB device. Android USB accessories are specially designed to be connected to Android devices and adhere to a simple protocol (Android Accessory Protocol) that allows Android devices that support accessory mode to be recognized.

External hardware development

Development tools that should help an Android device to interact with external electronics include IOIO, the Android Open Accessory Development Kit, Microbridge and Triggertrap.

Third party development tools

AIDE

AIDE is an Android app that enables Android app development directly on the smartphone. It compiles and installs the created app on the device.

Android :: Build

Android :: Build is a Perl module that makes it possible to build an Android APK file using just the basic command line tools: aapt, dx, javac , jarsigner and zipalign without relying on Apache Ant or Gradle . This reduced amount of dependencies simplifies rolling release systems that rely on the fully automatic generation and testing of remote applications.

App Inventor for Android

On July 12, 2010, Google announced the availability of the App Inventor for Android, a web-based visual development environment for novice programmers based on the MIT Open Blocks Java library and access to GPS, acceleration and orientation data, telephone functions, text messaging , Speech-to-text conversion, contact data, storage and web services, initially also Amazon and Twitter. According to Hal Abelson , the project manager at MIT, this app could only be developed because of the openness of the Android architecture. The tool has been taught to non-master’s computer science students at Harvard, MIT, Wellesley, Trinity College (Hartford) and the University of San Francisco, where Professor David Wolber provided an introductory computer science course and tutorial book for non-computer science students based on the App Inventors developed for Android.

In the second half of 2011, Google released the source code, closed its web service, and funded the establishment of the MIT Center for Mobile Learning under the direction of app inventor creator Hal Abelson and his MIT colleagues Eric Klopfer and Mitchel Resnick. The current version, which emerged from Google's collaboration with MIT, was published in February 2012. The first version, which was created exclusively by MIT, was published in March 2012 and updated to the App Inventor 2 in December 2013. The App Inventor has been further developed by MIT since 2014.

B4X

B4X is a commercial tool that is inspired by Microsoft Visual Basic 6 and Microsoft Visual Studio . It makes Android development easier for Visual Basic programmers who find programming in Java difficult.

Coreliu

Coreliu enables laypeople to write immersive learning applications that run natively on Android devices. App authors use a file in a GitHub repository to describe the images and text to be used in the app. The speech output is generated from the text via Amazon Web Services Polly. Coreliu packs the photos and the generated speech output in an Android APK file, which the author can freely distribute with a Creative Commons license.

Corona SDK

The Corona SDK is a software development kit (SDK) that was developed by Walter Luh, the founder of Corona Labs Inc. The Corona SDK enables software developers to create mobile applications for iPhones, iPads and Android devices.

Corona enables developers to create graphical applications using the integrated Lua language, which is based on C ++ / OpenGL . The SDK uses a subscription-based purchase model with no per-application license fees.

Delphi

Delphi can also be used to build Android applications in the Object Pascal language. The current version is Delphi 10.3.2 Rio, developed by Embarcadero. The user interfaces are developed with the platform-independent GUI framework Firemonkey. In addition, non-visual components are available for interaction with the various sensors (camera, gyroscope, GPS, Bluetooth, etc.). Other services such as access to certain keyboard events are also available via interfaces, regardless of the platform. The compiler is based on the LLVM architecture and debugging from the IDE is possible. The generated apps are based on the NDK , but unlike Xamarin , the runtime is compiled into the application itself. Almost any Android APIs can be integrated via a Java Bridge and jar files with Java code can also be integrated.

DroidScript

DroidScript is a tool for rapid application development of native Android applications using JavaScript . This tool can be used directly on the mobile device or via a browser-based IDE connected to the device via WiFi. It uses Google's V8 JavaScript engine.

Golang

Since version 1.4 of the Go programming language , writing of applications for Android is supported. With version 1.7 and using the gomobiletools (ie gomobile build- is compiling to Android) APK s and iOS supported apps from the same go-code base. Strictly speaking, Java / JVM code ( Objective-C code in the case of iOS) is always required, but the gomobile tool provides the minimum required JVM code. Go support is limited to the Go types that can be used and (currently) limited to a limited number of Android APIs (e.g. OpenAL and OpenGL ES 2 bindings are provided which are useful for creating 2D / 3D games, e.g. one of the examples given for Android or iOS or other graphics applications can be used).

HyperNext Android Creator

HyperNext Android Creator (HAC) is a novice software development system that can help those who create their own Android applications without knowing Java and the Android SDK. It is based on HyperCard, which software treats like a deck of cards, with only one card visible at a time. Therefore, it is well suited for smartphone applications where only one window is visible at a time. The main programming language of the HyperNext Android Creator is called HyperNext and is largely based on the HyperTalk language from Hypercard. HyperNext is an interpreted English-like language and has many features that enable the creation of Android applications. It supports a growing subset of the Android SDK, including its own versions of the GUI control types, and automatically runs its own background service so apps can continue to run and process information in the background.

Kivy

Kivy is an open-source - Python - Library to develop multi-touch application software with a natural user interface (NUI) for a wide range of devices. Kivy offers the possibility of maintaining a single application for numerous operating systems (“Code once, run everywhere”). The library has a specially designed tool for implementing mobile applications called Bulldozer , which is only available for Linux. Bulldozer is currently Alpha software , but is far less cumbersome than older Kivy implementation methods. Applications programmed with Kivy can be submitted to any Android mobile app distribution platform .

Lazarus

The Lazarus IDE can be used to develop Android applications with Object Pascal (and other Pascal dialects), based on the Free Pascal compiler from version 2.7.1.

Processing

The Processing environment has supported an Android mode since version 1.5. The integration with camera and sensors is possible via the Ketai library.

Qt for Android

Qt for Android enables Qt 5 applications to run on devices with Android 2.3.3 (API level 10) or higher. Qt is a platform-independent application framework that supports platforms such as Android, Linux, iOS, Sailfish OS and Windows. Qt applications are developed in standard C ++ and QML , which requires both the Android NDK and the Android SDK . The Qt Creator is an IDE that is provided with the Qt framework for platform-independent application development.

RubyMotion

RubyMotion is a tool chain for writing native mobile applications in Ruby . From version 3.0 RubyMotion supports Android. RubyMotion Android apps can call all Java Android APIs from Ruby, use third-party Java libraries, and are statically compiled into machine code.

SDL

In addition to Java, the SDL library also offers a development option that enables development with C and the simple porting of existing SDL and native C applications. By injecting a small Java shim and JNI, it is possible to use native SDL code that supports Android ports such as: B. the Jagged Alliance 2 video game allows.

Visual Studio Emulator for Android

Microsoft shipped a free standalone emulator for Android in 2015 called Visual Studio Emulator for Android. The emulator supports installing Google Play using a drag-and-drop interface. It can be used in conjunction with Visual Studio , which supports cross-platform development, so C ++ developers can build projects from templates for native Android activity applications or powerful dynamic libraries that can be integrated with other solutions. Features include platform-specific IntelliSense , breakpoints, device provisioning, and emulation.

Xamarin

With a common C # code base, Xamarin developers can write native iOS, Android and Windows applications with native user interfaces and share code across platforms.

Android Developer Challenge

The Android Developer Challenge (ADC) was a competition in two parts (ADC I and ADC II) to find the most innovative application for Android. Google offered prizes totaling $ 10 million that were split between the ADC I and ADC II. ADC I accepted submissions from January 2 through April 14, 2008. The 50 most promising entries announced on May 12, 2008 each received a $ 25,000 award for further development. ADC I ended in early September with the announcement of ten teams that would each receive $ 275,000 and ten teams that would each receive $ 100,000.

The ADC II was announced on May 27, 2009. The first round of ADC II ended on October 6, 2009. The winners of the first round of ADC II with the 200 best applications were announced on November 5, 2009. Voting for the second round also began on the same day and ended on November 25th. Google announced the top ADC II winners on November 30th, with SweetDreams , What the Doodle !? and WaveSecure were named overall competition winners.

Community-based distributions

There is a community of open source enthusiasts who use Android-based distributions (i.e. firmware ) with a range of customizations and additional features, such as: B. FLAC or the ability to save, develop and share downloaded applications on the SD card. This often includes rooting the device. Rooting enables users to have root access to the operating system and thus full control over the device. Rooting also has several disadvantages, including the possibility of a brick , loss of warranty, increased risk of attack, etc. Custom firmware also enables users of older smartphones to use newer Android versions that are no longer officially offered by the manufacturer.

These firmware packages are updated frequently, contain elements of Android functionality that have not yet been released in the manufacturer's official firmware and tend to have fewer restrictions. LineageOS is an example of such a custom ROM .

On September 24, 2009, Google issued a cease and desist letter to the modder Cyanogen, in which he was informed of problems with the redistribution of Google's closed source applications within the custom ROM CyanogenMod . Although the majority of the Android system is open source , many devices ship with closed source Google applications for features like Google Play and GPS navigation. Google has stated that these applications can only be provided through approved sales channels by licensed dealers. Cyanogen has complied with Google's request and continues to sell the custom ROM without the proprietary software. At the same time, a method has been provided to back up Google applications during the mod's installation process and restore them when the process is complete.

Java standards

One of the development obstacles is the fact that Android does not use any established Java standards, i.e. Java SE and ME . This prevents compatibility between Java applications written for those platforms and those written for the Android platform. Android uses the syntax and semantics of the Java language, but does not provide the full class libraries and APIs available in Java SE or ME. However, there are several tools from companies like the Myriad Group and UpOnTek that provide Java ME to Android conversion services.

Android provides its own GUI classes and does not allow development using Java AWT , Swing, or JavaFX . It doesn't support the full Java Beans API .

History and market share

Android was founded by the Open Handset Alliance , which is led by Google . The early feedback on developing applications for the Android platform was mixed. The problems mentioned included errors, a lack of documentation, an inadequate QA infrastructure and no public issue tracking system (Google announced an issue tracker on January 18, 2008). In December 2007, Adam MacBeth, founder of the start-up company MergeLab, stated: "The functionality is not available, is poorly documented or simply does not work ..." Nevertheless, Android-oriented applications began to appear in the week after the platform was announced . The first publicly available application was the snake game .

A preview version of the Android SDK was released on November 12, 2007. On July 15, 2008, the Android Developer Challenge team inadvertently sent an email to all participants in the Android Developer Challenge , in which it announced that a new version of the SDK was available in a "private" download area. The email was for the winners of the first round of the Android Developer Challenge. The revelation that Google only made new SDK versions available to a few developers (and kept this agreement private) sparked widespread frustration within the Android developer community at the time.

On August 18, 2008, the Android 0.9 SDK beta was released. This version featured an updated and expanded API, improved development tools, and an updated home screen design. Detailed instructions for upgrading were available for those who were working with a previous release. On September 23, 2008 the Android 1.0 SDK (Release 1) was released. According to the release notes, it "mainly contained bug fixes, with some minor features added". It also contained some API changes from version 0.9. Several versions have been released since the Android SDK was developed.

On December 5th, 2008, Google announced the first Android Dev Phone, a SIM-lock and no hardware-lock device designed for advanced developers. It was a modified version of the HTC Dream device. While developers can use normal end devices to test and use their applications, some developers can choose a specially designated unlocked or contract-free device.

As of July 2013, more than a million Android applications with over 25 billion downloads had been developed. A June 2011 study found that at the time of publication, over 67% of mobile developers were using the platform. In 2018, Android smartphones with more than 1.2 billion devices achieved a market share of more than 85%.

See also

literature


 Wikibooks: Android (English) - learning and teaching materials

Individual evidence

  1. Set up for Android Development. Accessed July 11, 2019 .
  2. Syed H: Editorial: Why You Should Go Nexus. In: Droid Lessons. September 24, 2012, Retrieved July 11, 2019 (American English).
  3. Application Fundamentals. Accessed July 11, 2019 .
  4. Android NDK. Retrieved July 3, 2019 .
  5. SDK Tools release notes. Retrieved July 3, 2019 .
  6. Command line tools | Android Developers. Accessed July 11, 2019 .
  7. Download Android Studio and SDK tools. Retrieved July 3, 2019 .
  8. AIDE- IDE for Android Java C ++ - Apps on Google Play. Retrieved July 3, 2019 .
  9. Java Editor - Apps on Google Play. Retrieved July 3, 2019 .
  10. Tanapro JavaIDEdroid - Apps on Google Play. Retrieved July 3, 2019 .
  11. heise online: Android Studio is now the official Android development environment. Retrieved July 11, 2019 .
  12. An update on Eclipse Android Developer Tools. In: Android Developers Blog. Accessed July 11, 2019 .
  13. NBAndroid - NetBeans Plugin detail. Accessed July 11, 2019 .
  14. Backup & Restore Android Apps Using ADB. In: JonWestfall.com. August 25, 2009. Retrieved July 3, 2019 (American English).
  15. AIDE- IDE for Android Java C ++ - Apps on Google Play. Retrieved July 3, 2019 .
  16. SDK Tools release notes | Android Developers. Retrieved July 3, 2019 .
  17. Where does Android store apps on my device? Accessed July 11, 2019 .
  18. SDK Platform Tools release notes. Accessed July 11, 2019 .
  19. a b Android Debug Bridge (adb). Accessed July 11, 2019 .
  20. Jack Wallen in Mobility on March 6, 2015, 4:51 am Pst: How to create a full backup of your Android device without root. Accessed July 11, 2019 .
  21. fastboot / README.md. Retrieved July 11, 2019 .
  22. Eric Ravenscraft: The Most Useful Things You Can Do with ADB and Fastboot on Android. Retrieved July 11, 2019 (American English).
  23. fastboot ›Wiki› ubuntuusers.de. Retrieved July 11, 2019 .
  24. a b NDK Revision History | Android NDK. Retrieved July 4, 2019 .
  25. NDK Downloads | Android NDK. Retrieved July 4, 2019 .
  26. Using the NDK with other build systems | Android NDK. Accessed July 11, 2019 .
  27. ^ The Android Native Development Kit. Contribute to android-ndk / ndk development by creating an account on GitHub. android-ndk, July 11, 2019, accessed July 11, 2019 .
  28. Google: Android does without GCC for native apps - Golem.de. Retrieved on July 11, 2019 (German).
  29. ^ Android - Invoke JNI based methods (Bridging C / C ++ and Java) «Show me the code! - By Davanum Srinivas. December 16, 2008, accessed July 11, 2019 .
  30. System. Accessed July 11, 2019 .
  31. Android Debug Bridge (adb). Accessed July 11, 2019 .
  32. Android NDK Native APIs | Android NDK. Accessed July 11, 2019 .
  33. MartinH: Using Eclipse for Android C / C ++ development. In: Android blog. January 23, 2011, accessed July 11, 2019 .
  34. Using Visual Studio to Develop Native Android Code - VisualGDB Tutorials. Retrieved July 11, 2019 (Canadian English).
  35. Simpleperf | Android NDK. Accessed July 11, 2019 .
  36. Accessory Development Kit | Android Developers. Accessed July 11, 2019 .
  37. AIDE- IDE for Android Java C ++ - Apps on Google Play. Retrieved July 11, 2019 .
  38. Android :: Build - Lint, compile, install, run an Android app using the command line tools minus Ant and Gradle thus freeing development effort from the strictures imposed by Android Studio. - metacpan.org. Accessed July 11, 2019 .
  39. Google App Inventor Simplifies Android Programming - InformationWeek. July 15, 2010, accessed July 11, 2019 .
  40. Google's Do-It-Yourself App Tool - NYTimes.com. July 15, 2010, accessed July 11, 2019 .
  41. Google brings app-making to the masses - SFGate. July 17, 2010, accessed July 12, 2019 .
  42. Programming Android. July 15, 2010, accessed July 12, 2019 .
  43. ^ The MIT roots of Google's new software. Retrieved July 12, 2019 .
  44. App Inventor launches second iteration. Retrieved July 12, 2019 .
  45. App Inventor Classic | Explore MIT App Inventor. Retrieved July 12, 2019 .
  46. B4X - Develop Android, iOS and IoT applications. Retrieved July 12, 2019 .
  47. Create a Coreliu Photo App! Beta test site. Retrieved July 12, 2019 .
  48. Corona: Free Cross-Platform 2D Game Engine. Retrieved July 12, 2019 (American English).
  49. Delphi is the fastest way to write, compile, package and deploy cross-platform native applications on Windows, macOS, iOS, Android and Linux. See more. Retrieved July 12, 2019 (UK English).
  50. DroidScript | JavaScript IDE. Retrieved July 12, 2019 (UK English).
  51. Command flappy. Retrieved July 12, 2019 .
  52. Package app. Accessed on July 12, 2019 (English).
  53. Create Your Own Apps for Android Kindle with HAC. Retrieved July 12, 2019 .
  54. Kivy: Cross-platform Python Framework for NUI. Retrieved July 12, 2019 .
  55. Portal: Android - Lazarus wiki. Retrieved July 12, 2019 .
  56. Processing for Android. Retrieved July 12, 2019 .
  57. Ketai Library - Home. Retrieved July 12, 2019 .
  58. Qt for Android | Qt 5.13. Retrieved July 12, 2019 .
  59. Android - Qt Wiki. Retrieved July 12, 2019 .
  60. Announcing RubyMotion 3.0: Android Platform, WatchKit Apps, and More. Retrieved July 12, 2019 .
  61. Wayback Machine. June 4, 2012, accessed July 12, 2019 .
  62. Microsoft ships stand-alone Android emulator. July 21, 2015, accessed on July 12, 2019 .
  63. Installing Google Play on Visual Studio Android Emulators. In: Alteridem. February 2, 2017, accessed July 12, 2019 (Canadian English).
  64. Visual C ++ Cross-Platform Mobile. Retrieved July 12, 2019 (American English).
  65. Xamarin App Development with Visual Studio. Retrieved on July 12, 2019 (German).
  66. Android Developers Blog: The Top 50 Applications. September 25, 2009, accessed July 12, 2019 .
  67. Android Developer Challenge announces first-round winners. May 14, 2008, accessed July 12, 2019 .
  68. ADC I Top 50 Gallery - Android Developer Challenge. July 16, 2009, accessed July 12, 2019 .
  69. Android Developer Challenge. July 22, 2009, accessed July 12, 2019 .
  70. Android Developers Blog: ADC 2 Round 1 Scoring Complete. November 1, 2009, accessed July 12, 2019 .
  71. Android Developer Challenge. January 4, 2011, accessed July 12, 2019 .
  72. G1 Android Development. Retrieved July 12, 2019 .
  73. Rooting: Advantages and Disadvantages . In: ITCSE forum . Retrieved September 21, 2013.
  74. CyanogenMod in trouble? - Android and Me. October 3, 2009, accessed July 12, 2019 .
  75. Android Developers Blog: A Note on Google Apps for Android. October 25, 2009, accessed July 12, 2019 .
  76. The current state .. | CyanogenMod. November 3, 2009, accessed July 12, 2019 .
  77. Java Lobby News - 2007/11/13. Retrieved July 12, 2019 .
  78. Myriad's New J2Android Converter Fuels Android Applications Gold Rush. July 4, 2011, accessed July 12, 2019 .
  79. Josh Fruhlinger: J2Android hopes you don't know that Android is Java-based. March 22, 2010, accessed July 12, 2019 .
  80. Developing apps for Google Android: it's a mixed bag. December 20, 2007, accessed July 12, 2019 .
  81. You can't rush perfection, but now you can file bugs against it. In: Android Developers Blog. Retrieved July 12, 2019 .
  82. ^ Scott Morrison: Glitches Bug Google's Android Software . In: Wall Street Journal . December 19, 2007, ISSN  0099-9660 ( wsj.com [accessed July 12, 2019]).
  83. Snake | Android Freeware Directory. May 9, 2008, accessed July 12, 2019 .
  84. First Android Application - Snake | Mobiles2day - Mobile Industry News. June 5, 2008, accessed July 12, 2019 .
  85. Google plays Hide and Seek with Android SDK • The Register. October 6, 2008, accessed July 12, 2019 .
  86. Upgrading the SDK - Android. September 13, 2008, accessed July 12, 2019 .
  87. SDK Archives. Retrieved July 12, 2019 .
  88. Developing on a Device | Guide | Android Developers. February 13, 2009, accessed July 12, 2019 .
  89. Christina Warren: Google Play Hits 1 Million Apps. Retrieved July 12, 2019 .
  90. Android Market statistics from AndroLib, Androlib, Android Applications and Games directory. January 2, 2011, accessed July 12, 2019 .
  91. Google: 3 Billion Android Apps Installed; Downloads Up 50 Percent From Last Quarter. April 25, 2011, accessed July 12, 2019 .
  92. ^ (Report) Developer Economics 2011 - Winners and losers in the platform race. June 12, 2018, accessed July 12, 2019 .
  93. Mobile OS market share 2018. Retrieved on July 6, 2019 .