Android development software kit

Android Development Software Setup for Windows

In order to develop Android applications, you must have the following software installed on your system:

  1. Java Development Kit (JDK)
  2. Android Studio Development Bundle
  3. Android Native Development Kit (NDK)

Java Development Kit (JDK)

The Java Development Kit is a prerequisite for Android Studio and Gradle.

The latest version which has been tested with this release is JDK 8u91, available from the Java Archive Downloads page:

The latest JDK version is available here:

Once downloaded and installed, add the environment variable JAVA_HOME and set its value to the JDK install location. For example, the value may be C:\Program Files\Java\jdk1.8.0_91, if you have installed the x64 version.

Based on the default installation path of Java SE 8u91, the correct syntax when using set from the command line is:

set JAVA_HOME=”C:\Program Files\Java\jdk1.8.0_91”

Note: The JAVA_HOME value must be your actual path, which may differ from these examples.

Additionally, add the JDK to the value of your PATH, e.g. C:\Program Files\Java\jdk1.8.0_91\bin

Android Studio Installation

Android Studio is the recommended IDE and install manager for the Android SDK tools. Download the Android Studio bundle from:

The Android Studio Development Bundle includes the basic tools you need to begin developing Java Android Applications:

  • Android Studio IDE
  • Android SDK tools
  • Latest Android Platform
  • Latest System Image for Emulator

Follow Android’s installation instructions:

To run any of the standalone build scripts that come with the Mobile SDK, you need to set the following environment variables:

Installing Additional Packages and Tools

Android Studio

You must download additional packages required by the Mobile SDK via the Android SDK Manager, found in Tools > Android > SDK Manager. Android Studio may prompt you to take this step automatically the first time you launch it.

The following packages are required for native development:

  • Android SDK, API level 21 or later
  • Android Build Tools, 25.0.1 and higher
  • LLDB

Android Native Development Kit (NDK)

The Android Native Development Kit (NDK) is a toolset that allows you to implement parts of your app using native code languages such as C and C++. It is used extensively by the sample applications included with this release.

Note: You may install the NDK during the Android Studio installation process, but we recommend installing it manually to be sure that your command-line environment is set up properly and agrees with your Studio setup.

The last version of the NDK known to work with the Mobile SDK is r14b.

  1. Download the appropriate version of NDK from the following location:
  2. Save the zip to the directory where you would like to install it, e.g., C:\Dev\Android\android-ndk-r14b\.
  3. Once downloaded, extract its contents into the parent directory.
  4. Add the environment variable ANDROID_NDK_HOME, and set the value to your Android NDK location. For example: set ANDROID_NDK_HOME=C:\Dev\Android\android-ndk-r14b
  5. Add the NDK location to your PATH. For example: set PATH=%PATH%;%ANDROID_NDK_HOME%

Setting up your System to Detect your Android Device

You must set up your system to detect your Android device over USB in order to run, debug, and test your application on an Android device.

If you are developing on Windows, you may need to install a USB driver for adb after installing the Android SDK. For an installation guide and links to OEM drivers, see the Android OEM USB Drivers document.

Samsung Android drivers may be found on their developer site:

Windows may automatically detect the correct device and install the appropriate driver when you connect your device to a USB port on your computer.

Access the Device Manager through the Windows Control Panel. If the device was automatically detected, it will show up under Portable Devices in the Device Manager. Otherwise, look under Other Devices in the Device Manager and select the device to manually update the driver.

To verify that the driver successfully recognized the device, open a command prompt and type the command:

Note: You will need to successfully setup your Android development environment in order to use this command. For more information, see the next section: Android Development Environment Setup

If the device does not show up, verify that the device is turned on with enough battery power, and that the driver is installed properly.

How to install the Android SDK (Software Development Kit)

Android is the world’s most used mobile software system, that’s why Google has been hard at work to make its development much easier. Hence, the introduction of the Android Software Kit. Before you can start developing, there are a number of ways you need to download the Android SDK as well as some necessary prerequisites. Here is what you need:

Prepare your computer

Before you begin your Android SDK installation, you need to get your computer up and running and ready to go.

DID YOU KNOW: Updato offers seamless and guaranteed phone unlocking for any device, carrier and region! It's quick and easy - try it now.

Firstly, start by downloading the Java Development Kit designed for the latest version of Java 7. If you choose to work with Java 8 then it won’t be as effective, however having them both installed will not cause any issues. In terms of an operating system, most operating systems are likely to work, this includes systems such as x86_64 (64bit) and x86 (32bit) that are powered by Linux and Windows and Macs based on x86_64 Intel. Google has done a great deal to ensure that it works well enough on any system, so you shouldn’t encounter any issue.

Installation of the Android SDK

The Android SDK can be installed in two simple ways, you can choose to install the SDK on its own, or alternatively install the Android Studio which the SDK included.

The Android Studio Installation

Google launched an all round software for developers which incorporates essentials such as a virtual machine manager, a full blown IDE, not to mention, the Android SDK. This serves as the simplest form and most likely the best method of using Android SDK. First, download the Android Studio from here and then follow the prompts that pop up on the screen. It is that straightforward, and once everything is set up you can search online for more ways to make the best out of Android Studio.

Installation of the Android SDK package itself

This process is a bit tricky but easy to do. Note however, that downloading the stand alone SDK program has no real added advantage. If you prefer using this approach, download the SDK package from here. Once the package is downloaded, unzip it and move to an easily accessible folder.Opening of the Android SDK greatly depends on the operating system you are using.

For those running on Windows, simply navigate to the root of the SDKdirectory and double-click on the SDKManager.exe file.As for Linux and OS X, in the SDK, head into the tools/ folder and launch up a terminal window and key in ‘android’ to open up the SDK Manager. If this doesn’t work however, drag and drop the android executable into the launched terminal window and tap ‘enter’.Once its opened, ensure that the packages listed below are also installed, including other packages necessary for what you want to develop.

  • To offer support for new or already existing Android features, Platform-tools such as bmgr, logcat and Android Debugging Bridge, are necessary. Each of these tools has its own function, for instance, the Android Debugging Bridge (ADB) can be used to check the cause of errors, the processess that are running, among other things. bmgr on the hand, is a tool used for the management of the backup manager for devices powered by Android that have an API level of 8 or above. You need ADB in order to access it.
  • Build-tools such as ProGuard, zipalign and JOBB, are created to make the Platform-tools even more efficient. But if you need to, you can have them updated independently. JOBB is a tool that lets you develop APK expansions that are either encrypted or unencrypted in OBB format. For the purpose shrinking and keeping your app secure, ProGuard gets rid of unused items, renames the classes and more, making it difficult for anyone to reverse the app’s engineering as well as giving it an overall smaller size. Zipalign customizes .apk files to start in an alignment that corresponds with the launch of a file.
  • SDK tools are a prerequisite and are applied to whatever Android version you choose to build, these include: tools for debugging, image tools, build tools among others.
  • The Android Debugging Bridge and fastboot are also vital in case your device ever experiences issues. Fasboot enables you to wipe or flash partitions on to your device in case if something unexpected ever happens. The advantage of ADB is that allows you to troubleshoot issues either with your apps or the device itself.

Once you have all these installed, you can now start developing.


Google really outdid themselves with the introduction of the all-in-one Android Studio which is basically a one click installation of every requirement necessary to begin Android developing. But if the stand alone Android SDK is the route for you, then its also worth a shot and its configuration is easy. So whats there to stop you from developing?

And as always, we end with an invite: don't be a stranger and join our community - be a part of the conversation where we help each other out, discuss the latest and greatest, and make the best of our tech.

unlock your phone

Easily and safely unlock your phone for any network provider in just minutes.

Get Started

Android software development - Gpedia, Your Encyclopedia

Android software development is the process by which new applications are created for the Android devices operating system. Applications are usually developed in Java programming language using the Android software development kit (SDK), but other development environments are also available.

Official development tools

Android SDK

The Android software development kit (SDK) includes a comprehensive set of development tools.[4] These include a debugger, libraries, a handset emulator based on QEMU, documentation, sample code, and tutorials. Currently supported development platforms include computers running Linux (any modern desktop Linux distribution), Mac OS X 10.5.8 or later, and Windows 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.[5][6][7]

Until around the end of 2014, the officially supported integrated development environment (IDE) was Eclipse using the Android Development Tools (ADT) Plugin, though IntelliJ IDEA IDE (all editions) fully supports Android development out of the box,[8] and NetBeans IDE also supports Android development via a plugin.[9] As of 2015, Android Studio,[10] made by Google and powered by IntelliJ, 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.[11] Additionally, developers may use any text editor to edit Java and XML files, then use command line tools (Java Development Kit and Apache 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).[12][5]

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.[13]

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[14] (compiled byte code files called Dalvik executables), resource files, etc.

Android Debug Bridge

The Android Debug Bridge (ADB) is a toolkit included in the Android SDK package. It consists of both client and server-side programs that communicate with one another. The ADB is typically accessed through the command-line interface,[15] although numerous graphical user interfaces exist to control ADB.

The format for issuing commands through the ADB is typically:

adb [-d|-e|-s <serialNumber>] <command> where -d is the option for specifying the USB-attached device, -e for indicating a running Android emulator on the computer, -s for specifying either one by its adb-assigned serial number. If there is only one attached device or running emulator, these options are not necessary.

For example, Android applications can be saved by the command backup to a file, whose name is backup.ab by default.[16]

In a security issue reported in March 2011, ADB was targeted as a vector to attempt to install a rootkit on connected phones using a "resource exhaustion attack".[17]

"Fastboot" redirects here. For the PC fast booting ability, see Instant-on.

Fastboot is a diagnostic protocol included with the SDK package used primarily to modify the flash filesystem via a USB connection from host computer. It requires that the device be started in a boot loader or Secondary Program Loader mode, in which only the most basic hardware initialization is performed. After enabling the protocol on the device itself, it will accept a specific set of commands sent to it via USB using a command line. Some of the most commonly used fastboot commands include:

  • flash – rewrites a partition with a binary image stored on the host computer
  • erase – erases a specific partition
  • reboot – reboots the device into either the main operating system, the system recovery partition or back into its boot loader
  • devices – displays a list of all devices (with the 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

Libraries written in C/C++ can be compiled to ARM, MIPS or x86 native code (or their 64-bit variants) and installed using the Android Native Development Kit (NDK). These native libraries can be called from Java code running under the Dalvik VM using the System.loadLibrary call, which is part of the standard Android Java classes.[19][20]

Complete applications can be compiled and installed using traditional development tools.[21] However, according to the Android documentation, NDK should not be used solely because the developer prefers to program in C/C++, as using NDK increases complexity while most applications would not benefit from using it.[22]

The[23]ADB Debugger gives a root shell under the Android Emulator which allows ARM, MIPS or x86 native code to be uploaded and executed. Native code can be compiled using Clang or GCC on a standard PC. Running native code is complicated by Android's use of a non-standard C library (libc, known as Bionic).

The graphics library that Android uses to arbitrate and control access to this device is called the Skia Graphics Library (SGL), and it has been released under an open source licence.[24] Skia has backends for both Win32 and Unix, allowing the development of cross-platform applications, and it is the graphics engine underlying the Google Chrome web browser.[25] Skia is not an NDK API, though, and NDK developers use OpenGL.

It is possible to use the Android Studio with Gradle to develop NDK projects.[26] Other third-party tools allow integrating the NDK into Eclipse[27] and Visual Studio.[28]

Android Open Accessory Development Kit

The Android 3.1 platform (also backported to Android 2.3.4) introduces Android Open Accessory support, which allows external USB hardware (an Android USB accessory) to interact with an Android-powered device in a special "accessory" mode. When an Android-powered device is in accessory mode, the connected accessory acts as the USB host (powers the bus and enumerates devices) and the Android-powered device acts as the USB device. Android USB accessories are specifically designed to attach to Android-powered devices and adhere to a simple protocol (Android accessory protocol) that allows them to detect Android-powered devices that support accessory mode.[29]

Native Go support

Since version 1.4 of the Go programming language, writing applications for Android is supported without requiring any Java code, although with a restricted set of Android APIs.[30]

External hardware development

Development tools intended to help an Android device interact with external electronics include IOIO, Android Open Accessory Development Kit, Microbridge, Triggertrap, etc.

Third-party development tools


  • AIDE (Android application), An Android App that allows Android Apps development directly using the device. It compiles and installs the created app in the device.

App Inventor for Android

On July 12, 2010, Google announced the availability of App Inventor for Android, a Web-based visual development environment for novice programmers, based on MIT's Open Blocks Java library and providing access to Android devices' GPS, accelerometer and orientation data, phone functions, text messaging, speech-to-text conversion, contact data, persistent storage, and Web services, initially including Amazon and Twitter.[31] "We could only have done this because Android’s architecture is so open," said the project director, MIT's Hal Abelson.[32] Under development for over a year,[33] the block-editing tool has been taught to non-majors in computer science at Harvard, MIT, Wellesley, Trinity College (Hartford,) and the University of San Francisco, where Professor David Wolber developed an introductory computer science course and tutorial book for non-computer science students based on App Inventor for Android.[34][35]

In the second half of 2011, Google released the source code, terminated its Web service, and provided funding for the creation of The MIT Center for Mobile Learning, led by the App Inventor creator Hal Abelson and fellow MIT professors Eric Klopfer and Mitchel Resnick.[36] Latest version created as the result of Google–MIT collaboration was released in February 2012, while the first version created solely by MIT was launched in March 2012[37] and upgraded to App Inventor 2 in December 2013.[38] As of 2014, App inventor is now maintained by MIT.


Basic4android is a commercial product similar to Simple.[39] It is inspired by Microsoft Visual Basic 6 and Microsoft Visual Studio. It makes android programming much simpler for regular Visual Basic programmers who find coding in Java difficult. Basic4android is very active, and there is a strong online community of Basic4android developers.

Corona SDK

Corona SDK is a software development kit (SDK) created by Walter Luh, founder of Corona Labs Inc.. Corona SDK allows software programmers to build mobile applications for iPhone, iPad and Android devices.

Corona lets developers build graphic applications by using its integrated Lua language, which is layered on top of C++/OpenGL. The SDK uses a subscription-based purchase model, without requiring any per-application royalties and imposes no branding requirements.


Delphi can also be used for creating Android application in the Object Pascal language. The latest release is Delphi 10 Seattle, developed by Embarcadero.[40] User interfaces are developed using the cross-platform GUI framework Firemonkey. Additionally, non-visual components for interaction with the various sensors (like Camera, Gyroscope, GPS and Bluetooth etc.) are available. Other services, such as access to certain keyboard events, are available in a platform-independent manner as well; this is done using interfaces. The compiler is based on the LLVM architecture, and debugging from IDE is possible. The generated apps are based on the NDK, but in contrast to Xamarin, the runtime is compiled into the application itself.

HyperNext Android Creator

HyperNext Android Creator (HAC) is a software development system aimed at beginner programmers that can help them create their own Android apps without knowing Java and the Android SDK. It is based on HyperCard that treated software as a stack of cards with only one card being visible at any one time and so is well suited to mobile phone applications that have only one window visible at a time. HyperNext Android Creator's main programming language is simply called HyperNext and is loosely based on Hypercard's HyperTalk language. HyperNext is an interpreted English-like language and has many features that allow 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 while in the background.


Kivy is an open source Python library for developing multitouch application software with a natural user interface (NUI) for a wide selection of devices. Kivy provides the possibility of maintaining a single application for numerous operating systems ("code once, run everywhere"). Kivy has a custom-built deployment tool for deploying mobile applications called Buildozer, which is available only for Linux. Buildozer is currently alpha software, but is far less cumbersome than older Kivy deployment methods. Applications programmed with Kivy can be submitted to any Android mobile application distribution platform.


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


The Processing environment, which also uses the Java language, has supported an Android mode since version 1.5; integration with device camera and sensors is possible using the Ketai library.

Qt for Android

Qt for Android enables Qt 5 applications to run on devices with Android v2.3.3 (API level 10) or later.[41] Qt is a cross-platform application framework which can target platforms such as Android, Linux, iOS, Sailfish OS and Windows. Qt application development is done in standard C++ and QML, requiring both the Android NDK and SDK.[42]Qt Creator is the integrated development environment provided with the Qt Framework for multi-platform application development.


RubyMotion is a toolchain to write native mobile apps in Ruby. As of version 3.0, RubyMotion supports Android. RubyMotion Android apps can call into the entire set of Java Android APIs from Ruby, can use 3rd-party Java libraries, and are statically compiled into machine code.[43]


The SDL library offers also a development possibility beside Java, allowing the development with C and the simple porting of existing SDL and native C applications. By injection of a small Java shim and JNI the usage of native SDL code is possible,[44] allowing Android ports like e.g. the Jagged Alliance 2 video game.[45]

Visual Studio 2015

Visual Studio 2015 supports cross-platform development, letting C++ developers create projects from templates for Android native-activity applications, or create high-performance shared libraries to include in other solutions. Its features include platform-specific IntelliSense, breakpoints, device deployment and emulation.[46]


With a C# shared codebase, developers can use Xamarin to write native iOS, Android, and Windows apps with native user interfaces and share code across multiple platforms. Over 1 million developers use Xamarin's products in more than 120 countries around the world as of May 2015.[citation needed]

Android Developer Challenge

The Android Developer Challenge was a competition to find the most innovative application for Android. Google offered prizes totaling 10 million US dollars, distributed between ADC I and ADC II. ADC I accepted submissions from January 2 to April 14, 2008. The 50 most promising entries, announced on May 12, 2008, each received a $25,000 award to further development.[47][48] It ended in early September with the announcement of ten teams that received $275,000 each, and ten teams that received $100,000 each.[49]

ADC II was announced on May 27, 2009.[50] The first round of the ADC II closed on October 6, 2009.[51] The first-round winners of ADC II comprising the top 200 applications were announced on November 5, 2009. Voting for the second round also opened on the same day and ended on November 25. Google announced the top winners of ADC II on November 30, with SweetDreams, What the Doodle!? and WaveSecure being nominated the overall winners of the challenge.[52][53]

There is a community of open-source enthusiasts that build and share Android-based firmware with a number of customizations and additional features, such as FLAC lossless audio support and the ability to store downloaded applications on the microSD card.[54] This usually involves rooting the device. Rooting allows users root access to the operating system, enabling full control of the phone. Rooting has several disadvantages as well, including increased risk of hacking, high chances of bricking, losing warranty, increased virus attack risks, etc.[55] However, rooting allows custom firmware to be installed, although the device's boot loader must also be unlocked. Modified firmware allows users of older phones to use applications available only on newer releases.[56]

Those firmware packages are updated frequently, incorporate elements of Android functionality that haven't yet been officially released within a carrier-sanctioned firmware, and tend to have fewer limitations. CyanogenMod and OMFGB are examples of such firmware.

On September 24, 2009, Google issued a cease and desist letter[57] to the modder Cyanogen, citing issues with the re-distribution of Google's closed-source applications[58] within the custom firmware. Even though most of Android OS is open source, phones come packaged with closed-source Google applications for functionality such as the Google Play and GPS navigation. Google has asserted that these applications can only be provided through approved distribution channels by licensed distributors. Cyanogen has complied with Google's wishes and is continuing to distribute this mod without the proprietary software. It has provided a method to back up licensed Google applications during the mod's install process and restore them when the process is complete.[59]

Java standards

Obstacles to development include the fact that Android does not use established Java standards, that is, Java SE and ME. This prevents compatibility between Java applications written for those platforms and those written for the Android platform. Android only reuses the Java language syntax and semantics, but it does not provide the full class libraries and APIs bundled with Java SE or ME.[60] However, there are multiple tools in the market from companies such as Myriad Group and UpOnTek that provide Java ME to Android conversion services.[61][62][63]

History and market share

Android was created by the Open Handset Alliance, which is led by Google. The early feedback on developing applications for the Android platform was mixed.[65] Issues cited include bugs, lack of documentation, inadequate QA infrastructure, and no public issue-tracking system. (Google announced an issue tracker on January 18, 2008.)[66] In December 2007, MergeLab mobile startup founder Adam MacBeth stated, "Functionality is not there, is poorly documented or just doesn't work... It's clearly not ready for prime time."[67] Despite this, Android-targeted applications began to appear the week after the platform was announced. The first publicly available application was the Snake game.[68][69]

A preview release of the Android SDK was released on November 12, 2007. On July 15, 2008, the Android Developer Challenge Team accidentally sent an email to all entrants in the Android Developer Challenge announcing that a new release of the SDK was available in a "private" download area. The email was intended for winners of the first round of the Android Developer Challenge. The revelation that Google was supplying new SDK releases to some developers and not others (and keeping this arrangement private) led to widely reported frustration within the Android developer community at the time.[70]

On August 18, 2008, the Android 0.9 SDK beta was released. This release provided an updated and extended API, improved development tools and an updated design for the home screen. Detailed instructions for upgrading are available to those already working with an earlier release.[71] On September 23, 2008, the Android 1.0 SDK (Release 1) was released.[72] According to the release notes, it included "mainly bug fixes, although some smaller features were added." It also included several API changes from the 0.9 version. Multiple versions have been released since it was developed .[73]

On December 5, 2008, Google announced the first Android Dev Phone, a SIM-unlocked and hardware-unlocked device that is designed for advanced developers. It was a modified version of HTC's Dream phone. While developers can use regular consumer devices to test and use their applications, some developers may choose a dedicated unlocked or no-contract device.

As of July 2013[update], more than one million applications have been developed for Android,[74] with over 25 billion downloads.[75][76] A June 2011 research indicated that over 67% of mobile developers used the platform, at the time of publication.[77] In Q2 2012, around 105 million units of Android smartphones were shipped which acquires a total share of 68% in overall smartphones sale till Q2 2012.[78]

See also


  1. ^ "The Android Source Code". Retrieved February 2, 2017. 
  2. ^ Syed H (September 24, 2012). "Editorial: Why You Should Go Nexus". Droid Lessons. Retrieved April 17, 2013. 
  3. ^ "SDK Tools | Android Developers". Retrieved March 13, 2017. 
  4. ^ "Tools Overview". Android Developers. July 21, 2009. 
  5. ^ a b appfour. "AIDE- IDE for Android Java C++ - Android Apps on Google Play". 
  6. ^ gesturedevelop. "Java Editor - Android Apps on Google Play". 
  7. ^ Tanapro GmbH, Tom Arn. "JavaIDEdroid - Android Apps on Google Play". 
  8. ^ "IntelliJ Android Development". Retrieved September 19, 2012. 
  9. ^ "NBAndroid Plugin". Retrieved September 19, 2012. 
  10. ^ "Android Studio". 
  11. ^ Eason, Jamal (June 26, 2015). "An update on Eclipse Android Developer Tools". Android Developers Blog. Google. Retrieved March 25, 2017. 
  12. ^ Westfall, Jon (August 25, 2009). "Backup & Restore Android Apps Using ADB". Retrieved December 7, 2009. 
  13. ^ "SDK Tools". 
  14. ^ "Android SDK Glossary". 
  15. ^ "Android Debug Bridge | Android Developers" Accessed December 27, 2012
  16. ^ Jack Wallen (2015-03-06). "How to create a full backup of your Android device without root". Retrieved 2016-01-29. 
  17. ^ Lemos, Robert "Open source vulnerabilities paint a target on Android" March 25, 2011, accessed December 27, 2012
  18. ^ a b "Android NDK | Android Developers". November 13, 2012. Retrieved March 13, 2014. 
  19. ^ Srinivas, Davanum (December 9, 2007). "Android — Invoke JNI based methods (Bridging C/C++ and Java)". Archived from the original on December 16, 2008. Retrieved December 13, 2008. 
  20. ^ "java.lang.System". Android Developers. Retrieved September 3, 2009. 
  21. ^ Leslie, Ben (November 13, 2007). "Native C application for Android". Benno's blog. Archived from the original on September 13, 2009. Retrieved September 4, 2009. 
  22. ^ "Android NDK | Android Developers". November 13, 2012. Retrieved June 17, 2014. 
  23. ^
  24. ^ "Skia source". 
  25. ^ Toker, Alp (September 6, 2008). "Skia graphics library in Chrome: First impressions". Archived from the original on December 16, 2008. Retrieved December 13, 2008. 
  26. ^ "Tutorial Android: Como configurar o NDK no Android Studio com Gradle e um exemplo". 
  27. ^ "Using Eclipse for Android C/C++ Development". 
  28. ^ "Tutorial: Android Native Development with Visual Studio". 
  29. ^ "Accessory Development Kit | Android Developers". Retrieved October 2, 2012. 
  30. ^ "Package app, which lets you write Apps for Android (and eventually, iOS)". Retrieved 2015-06-09. There are two ways to use Go in an Android App. The first is as a library called from Java, the second is to use a restricted set of features but work entirely in Go.[..] An app can be written entirely in Go. This results in a significantly simpler programming environment (and eventually, portability to iOS), however only a very restricted set of Android APIs are available. The provided interfaces are focused on games. It is expected that the app will draw to the entire screen (via OpenGL, see the package), and that none of the platform's screen management infrastructure is exposed. On Android, this means a native app is equivalent to a single Activity (in particular a NativeActivity) and on iOS, a single UIWindow. Touch events will be accessible via this package. When Android support is out of preview, all APIs supported by the Android NDK will be exposed via a Go package. 
  31. ^ Claburn, Thomas (July 12, 2010). "Google App Inventor Simplifies Android Programming". Information Week. Archived from the original on July 15, 2010. Retrieved July 12, 2010. 
  32. ^ Lohr, Steve (July 11, 2010). "Google’s Do-It-Yourself App Creation Software". New York Times. Archived from the original on July 15, 2010. Retrieved July 12, 2010. 
  33. ^ Abelson, Hal (July 31, 2009). "App Inventor for Android". Google Research Blog. Archived from the original on August 7, 2010. Retrieved July 12, 2010. 
  34. ^ Kim, Ryan (December 11, 2009). "Google brings app-making to the masses". San Francisco Chronicle. Archived from the original on July 17, 2010. Retrieved July 12, 2010. 
  35. ^ Wolber, David. "". Archived from the original on July 15, 2010. Retrieved July 12, 2010. 
  36. ^ Hardesty, Larry (August 19, 2010). "The MIT roots of Google's new software". MIT News Office. Retrieved October 1, 2015. 
  37. ^ Clark, Andrew (December 30, 2013). "App Inventor launches second iteration". 
  38. ^ "App Inventor Classic | Explore MIT App Inventor". December 3, 2013. Retrieved March 13, 2014. 
  39. ^ "Basic4android". 
  40. ^ "Delphi Xe7". 
  41. ^ "Qt for Android". 
  42. ^ "Qt Wiki : Android". 
  43. ^ "Announcing RubyMotion 3.0: Android Platform and More". 
  44. ^ "Simple DirectMedia Layer for Android". August 12, 2012. Archived from the original on June 4, 2012. Retrieved September 9, 2012. How the port works, - Android applications are Java-based, optionally with parts written in C, - As SDL apps are C-based, we use a small Java shim that uses JNI to talk to the SDL library, - This means that your application C code must be placed inside an android Java project, along with some C support code that communicates with Java, - This eventually produces a standard Android .apk package 
  45. ^ JA2 Stracciatella Feedback " Jagged Alliance 2 Android Stracciatella Port RC2 Release - please test Archived October 23, 2012, at the Wayback Machine. on the Bear's Pit Forum, October 3, 2011
  46. ^ "Visual C++ Cross-Platform Mobile". Retrieved May 27, 2015. 
  47. ^ Chen, Jason (May 12, 2008). "The Top 50 Applications". Android Developers Blog. Archived from the original on September 25, 2009. Retrieved September 4, 2009. 
  48. ^ Brown, Eric (May 13, 2008). "Android Developer Challenge announces first-round winners". Linux for Devices. 
  49. ^ "ADC I Top 50 Gallery". Android Developer Challenge. Retrieved May 19, 2009. 
  50. ^ "Android Developer Challenge". Google Code. Retrieved January 11, 2008. 
  51. ^ Chu, Eric (October 6, 2009). "ADC 2 Round 1 Scoring Complete". Android Developers Blog. Archived from the original on November 1, 2009. Retrieved November 3, 2009. 
  52. ^ "ADC 2 Overall Winners". Android Developer Challenge. Google. Archived from the original on January 4, 2011. Retrieved December 5, 2010. 
  53. ^ Kharif, Olga (November 30, 2009). "Android Developer Challenge 2 Winners Announced". BusinessWeek. Retrieved December 5, 2010. 
  54. ^ "Dream android development". xda-developers forum. Retrieved September 11, 2009. 
  55. ^ "Rooting: Advantages and Disadvantages". ITCSE forum. Retrieved September 21, 2013. 
  56. ^ "Android 2.1 from Motorola Droid Ported to G1". Volt Mobile. March 10, 2010. 
  57. ^ Wimberly, Taylor (September 24, 2009). "CyanogenMod in trouble?". Android and me. Archived from the original on October 3, 2009. Retrieved September 26, 2009. 
  58. ^ Morrill, Dan (September 25, 2009). "A Note on Google Apps for Android". Android Developers Blog. Archived from the original on October 25, 2009. Retrieved September 26, 2009. 
  59. ^ "The current state...". CyanogenMod Android Rom. September 27, 2009. Archived from the original on November 3, 2009. Retrieved September 27, 2009. 
  60. ^ van Gurp, Jilles (November 13, 2007). "Google Android: Initial Impressions and Criticism". Javalobby. Retrieved March 7, 2009. Frankly, I don't understand why Google intends to ignore the vast amount of existing implementation out there. It seems like a bad case of "not invented here" to me. Ultimately, this will slow adoption. There are already too many Java platforms for the mobile world and this is yet another one 
  61. ^ "Myriad's New J2Android Converter Fuels Android Applications Gold Rush". March 19, 2010. 
  62. ^ "J2Android hopes you don't know that Android is Java-based". March 23, 2010. On the other hand, you might think this is kind of a scam aimed at developers who don't really understand the nature of the platform they're targeting. My biggest complaint is that you'd think that Mikael Ricknäs, the IDG News Service reporter who wrote the first story linked to above (who toils for the same company that publishes JavaWorld), would have at least mentioned the relationship between Java and Android to make the oddness of this announcement clear. 
  63. ^ "Myriad CTO: J2Android moves MIDlets to "beautiful" Android framework". March 31, 2010. We will have to wait and see exactly how much pickup J2Android actually sees. The tool isn't actually available on the open market just yet; while Schillings spoke optimistically about "converting 1,000 MIDlets in an afternoon," at the moment they're working with a few providers to transform their back catalogs. So those of you out there hoping to avoid learning how to write Android code may have to wait a while. 
  64. ^ Richard Devine (May 6, 2012). "Google Sooner prototype appears, shows off one Google's first prototype builds of Android". Retrieved March 1, 2015. 
  65. ^ Paul, Ryan (December 19, 2007). "Developing apps for Google Android: it's a mixed bag". Ars Technica. Archived from the original on December 20, 2007. Retrieved December 19, 2007. 
  66. ^ Morrill, Dan (January 18, 2008). "You can't rush perfection, but now you can file bugs against it". Android Developers Blog. Retrieved September 3, 2009. 
  67. ^ Morrison, Scott (December 19, 2007). "Glitches Bug Google's Android Software". The Wall Street Journal. Retrieved December 19, 2007. 
  68. ^ "Snake". Android Freeware Directory. Retrieved January 26, 2008. 
  69. ^ "First Android Application — Snake". Mobiles2day. November 14, 2007. Retrieved January 7, 2008. 
  70. ^ Metz, Cade (July 14, 2008). "Google plays Hide and Seek with Android SDK". The Register. Archived from the original on October 6, 2008. Retrieved October 23, 2008. 
  71. ^ "Android — An Open Handset Alliance Project: Upgrading the SDK". Archived from the original on September 13, 2008. Retrieved October 24, 2008. 
  72. ^ "Other SDK Releases". Android Developers. Retrieved September 2, 2009. 
  73. ^ "SDK Archives". 
  74. ^ "Google Play Hits 1 Million Apps". Mashable. July 24, 2013. 
  75. ^ "Android App Stats". Archived from the original on January 2, 2011. Retrieved December 31, 2010. 
  76. ^ Leena Rao (April 14, 2011). "Google: 3 Billion Android Apps Installed; Downloads Up 50 Percent From Last Quarter". Techcrunch. Archived from the original on April 25, 2011. Retrieved May 13, 2011. 
  77. ^ "Developer Economics 2011". 
  78. ^ "IDC- Article Not Found". Archived from the original on June 3, 2013. 


  • Ed, Burnette (July 13, 2010). Hello, Android: Introducing Google's Mobile Development Platform (3rd ed.). Pragmatic Bookshelf. ISBN 978-1-934356-56-2. 
  • Ableson, Frank; Sen, Robi; King, Chris (January 2011). Android in Action, Second Edition (2nd ed.). Manning. ISBN 978-1-935182-72-6. 
  • Conder, Shane; Darcey, Lauren (July 24, 2012). Android Wireless Application Development Volume II: Advanced Topics (3rd ed.). Addison-Wesley Professional. ISBN 0-321-81384-7. 
  • Murphy, Mark (June 26, 2009). Beginning Android (1st ed.). Apress. ISBN 1-4302-2419-3. 
  • Meier, Reto (March 2010). Professional Android 2 Application Development (1st ed.). Wrox Press. ISBN 978-0-470-56552-0. 
  • Haseman, Chris (July 21, 2008). Android Essentials (1st ed.). Apress. ISBN 1-4302-1064-8. 
  • Clifton, Ian (August 3, 2012). The Essentials of Android Application Development LiveLessons (Video Training) (1st ed.). Addison-Wesley Professional. ISBN 0-13-299658-8. 

External links

Скачать software developer kit sdk

Скачать software developer kit sdk - Android Найти результаты для Windows, для Mac, для Ubuntu

Developer - приложение, разработанное компанией Jan Tursky. На сайте доступна последняя версия 4.1. Лицензия - . Размер файла - 0. Переведено на .


Переносите файлы с ПК на смартфон без кабелей

Software Data Cable – это приложение, которое позволяет вам переносить файлы между двумя разными устройствами без кабелей. Вам необходимо только синхронизировать, по крайней мере, два устройства (это могут быть...


Developer Options - приложение, разработанное компанией uDroid. На сайте доступна последняя версия 1.1.6. Лицензия - . Размер файла - 0. Переведено на .


Developer Tools - приложение, разработанное компанией Roy Solberg. На сайте доступна последняя версия 1.1.3. Лицензия - . Размер файла - 0. Переведено на .


Firefox Developer Cheatsheet - приложение, разработанное компанией The4D. На сайте доступна последняя версия 2.8.30. Лицензия - . Размер файла - 0. Переведено на .


Chrome Developer Cheatsheet - приложение, разработанное компанией The4D. На сайте доступна последняя версия 2.5.23. Лицензия - . Размер файла - 0. Переведено на .


Software Updater - приложение, разработанное компанией Chiral Software. На сайте доступна последняя версия 1.0.1. Лицензия - . Размер файла - 0. Переведено на .


m-brodski-software-tic-tac-toe - приложение, разработанное компанией M. Brodski Software. На сайте доступна последняя версия 3.1.1. Лицензия - . Размер файла - 0. Переведено на .


Software Data Cable - приложение, разработанное компанией Dami App. На сайте доступна последняя версия 4.4.4. Лицензия - . Размер файла - 0. Переведено на .


Updates Software Latest. Guide - приложение, разработанное компанией LoCoApps. На сайте доступна последняя версия 1.0. Лицензия - . Размер файла - 0. Переведено на .

1.0 Bulk SMS Soft Bulk SMS Soft

Memory Card Recovery Software - приложение, разработанное компанией Bulk SMS Soft. На сайте доступна последняя версия 1.6. Лицензия - . Размер файла - 0. Переведено на .


Software Engineering - приложение, разработанное компанией Al-Ikhlas Development. На сайте доступна последняя версия 1.0. Лицензия - . Размер файла - 0. Переведено на .


DJ mixing Software - приложение, разработанное компанией Thana Dev. На сайте доступна последняя версия 1.0. Лицензия - . Размер файла - 0. Переведено на .


Kundli Software - приложение, разработанное компанией Ojas Softech Pvt Ltd. На сайте доступна последняя версия 1.4. Лицензия - . Размер файла - 0. Переведено на .


How to Software Updates - приложение, разработанное компанией Future Smile Media. На сайте доступна последняя версия 1.0. Лицензия - . Размер файла - 0. Переведено на .


Mailpro Emailing Software - приложение, разработанное компанией Saasco SA. На сайте доступна последняя версия 2.0.0. Лицензия - . Размер файла - 0. Переведено на .


Uptodown is currently under maintenance. We'll be back soon.

How to Become an Android Developer


As mobile apps connect more of the planet, and enable users around the globe to engage in more interesting and innovative ways than ever imagined, the job of the mobile app developer has become ever more enriching, fulfilling, and necessary to the modern global economy. The mobile apps we use every day have changed the way we conduct business, the way we communicate and consume entertainment, the way we learn things about the world. You wouldn’t be wrong if you thought mobile app development sounded like one of the coolest job industries of the moment.

So how do you become a mobile developer? Here’s the bare bones version: you pick a platform—like Android, iOS, or Windows Mobile—learn the technical skills, bone up on your soft skills, and have at it.

But let’s get into a little more detail. Here, we’re going to tackle the prospect of becoming an Android developer specifically.

Why Android?

Android is the indisputable leader of global smartphone market share. Thanks to growth in emerging markets like Mexico, Turkey, and Brazil, that dominance isn’t ebbing any time soon.

Graph via 9to5Mac

That market leadership translates to serious job security for Android developers.

Moreover, the Android platform is open source (the entire Android source code is browsable, albeit with some proprietary software such as Google Play), making the developer ecosystem dynamic and collectively enriching. Android developers share tips, tricks, and tutorials across the Android community, and since Google helps developers by building tools like Google Play Services for common app tasks like sign-in, authentication, location, and storage, Android developers can focus on building their apps’ core functionality.

Basically, it’s a particularly exciting time to launch a career in Android development. There’s a healthy supply of jobs, demand for Android apps promises to soar into the future, and the technology—including wearable apps and apps for TV—is intriguingly advancing.

The Hard Skills: What to Learn

First things first: the technical skills. Android development can be done on a Mac, Windows PC, or Linux computer. You’ll also need an Android device (you can use an emulator like Genymotion for development, but eventually you’ll want to test on a real device). Here’s the short list of the must-know tools to become an Android developer.


The most basic building block of Android development is the programming language Java. To be a successful Android developer, you’ll need to be comfortable with Java concepts like loops, lists, variables, and control structures. Java is one of the most popular programming languages used by software developers today, so learning its ins and outs will stand you in good stead for work (back-end development anyone?) even beyond the Android platform.


You’ll also need to learn the basics of SQL in order to organize the databases within Android apps. SQL is a language for expressing queries to retrieve information from to databases. Once you can write it, there won’t be any questions you can’t ask of your data.

Android Software Development Kit (SDK) and Android Studio

One of the best parts about developing for Android is that the necessary tools are free and easy to obtain. The Android SDK is available via free-of-charge download, as is Android Studio, the official integrated development environment (IDE) for Android app development. Android Studio is the main program with which developers write code and assemble their apps from various packages and libraries. The Android SDK includes sample code, software libraries, handy coding tools, and much more to help you build, test, and debug Android applications.

Another highlight of developing for Android is the ease of the process of submitting apps. Once you’re ready to submit your app to the Google Play store, register for a Google Play publisher account (which includes paying a $25 fee via Google Wallet), follow Android’s launch checklist, submit through the Google Play Developer Console, wait for Google to approve, and see it appear. Simple and satisfying.


Programmers use XML to describe data. The basics of the XML syntax will be helpful in your journey to full-fledged Android developer in doing tasks like designing user interface (UI) layouts and parsing data feeds from the internet. Much of what you’ll need XML for can be done through Android Studio, but it’s constructive to be grounded in the basics of the markup language.

The Hard Skills: How to Learn and Showcase Them

Resources abound for Android developers to sharpen their skills and share tips and best practices. A few industry favorites include Stack Overflow, Android Weekly, the Android Dev subreddit, vogella tutorials, YouTube lessons, and Google’s official Android Developers site—especially the Building Your First App module. If you’re more of a print learner, popular Android books include Head First Java, Android Programming: Pushing the Limits, and Java: A Beginner’s Guide.

As you start to think about attracting job opportunities, and selling yourself as a viable candidate, consider showcasing your Android work on LinkedIn, Xing, through an online personal portfolio, or on sites like Behance and GitHub. Rub elbows, in person and virtually, with other Android developers and hiring managers or recruiters through meetups, conferences such as droidcon, and digital networking hubs like LinkedIn groups, Twitter chats, and Quora feeds. You never know what you’ll learn, or who you’ll meet.

The Soft Skills

As with any job, it’s not enough to have the technical stuff down pat. You’ve got to sharpen your interpersonal skills as much as your coding chops.


Practice really does make perfect when it come to app development. Inevitably, you’re going to hit a roadblock in the development process, especially when you first start out. You’ll need a deep store of perseverance to power you through the frustrating times. Luckily, since Android is open-source, Android developers can take advantage of crowd-created libraries and frameworks posted on sites like GitHub.


Collaboration is of vital importance to most developer jobs. Even if you’re working by yourself on a project, you’ll inevitably have to put heads together with others—like designers, marketers, or upper management—in the company or organization. Start getting comfortable with accepting feedback on your work, compromising with coworkers, and teaming up with other players to create exceptional products.

Thirst for Knowledge

All good developers, mobile or otherwise, are committed to lifelong learning. Especially in the rapidly developing landscape of mobile apps: with the advent of wearables, TV apps, auto apps, and more, mobile developers must keep their eyes and ears open to new technology and changing best practices. No matter how advanced you get, don’t stop investigating, exploring, playing around, and asking questions.

The Bottom Line

Mobile apps are in higher demand than ever, which makes right now an incredible time to launch your career as an Android developer. As Android expands beyond the consumer space to work and education, and continues to push the bounds of rich cross-device user experiences with the new Material design language, it’s a particularly exciting time to dive into Android development. So go ahead, feet first. The water’s warm.

Many thanks to Google Developer Experts Enrique López-Mañas (@eenriquelopez) and Etienne Caron, and Udacity developer Eric Gonzalez for their contributions and technical reviews of this article.

software development kit

Marvell announced that its Foresight Platform, powered by Marvell ARMADA 1500 HD Secure Media Processor System-on-a-Chip (SoC), will be officially used by Google TV (replacing Intel CE4100 SoC) and be introduced at CES 2012.

The company said Google TV smart TVs, set-top boxes (STB) and blu-ray players based on its platform would be available later this year.

The Foresight Platform uses Marvell’s Qdeo video processing technology designed to deliver improved 3D video, rich audio, 3D graphics and TV-friendly Web content thanks to noise reduction, de-interlacing, low bit-rate internet video enhancement and other enhancement techniques such as Adaptive Contrast Enhancement (ACE) and Intelligent Color Remapping (ICR).

ARMADA 1500 (codenamed 88DE3100) contains Marvell’s ARM v6/7-compatible PJ4B SMP super-scalar dual-core CPU. The chip is designed to enable PC-like processing power to support Web browsing with support for Flash and other key technologies – with the aid of more than 6000 Dhrystone MIPS of computing horsepower, FPU v3.0, 512KB of L2 cache and WMMX2.

The chip also offers VMeta, a multi-format video decoder/encoder/transcoder that can decode up to two simultaneous 1080p streams encoded with different codecs such as H.264, VC-1, MPEG2/4, VP8, AVS, etc…

Marvell ARMADA 1500 Block Diagram

Marvell ARMADA 1500 key features and benefits:

  • Hardware-accelerated, dual-stream multi-standard, video decode and audio decode that allows playability of a wide range of content
  • Low-power SoC enabling fanless design
  • Qdeo video processing to enhance the viewing experience
  • Integrated Marvell dual-CPU SMP cores at 1.2 GHz for faster loading times and highperformance for many networked, Java, and Media applications.
  • Full suite of integrated peripherals (such as USB, Ethernet, HDMI, SATA, and SDIO)
  • Turnkey reference designs of connected applications for fast time-to-market

The Foresight Platform is Google TV reference design and includes the Armada 1500 (88DE3100) , Marvell 88DE6010 DTV analog front-end companion chip, 1GB of DDR3 memory and 4GB of NAND flash. An hybrid NIM TV tuner is also included, as well as touchscreen support and a Wi-Fi/Bluetooth connectivity chip (Marvell 87×7).

Marvell Foresight Platform DTV System Diagram (Click to enlarge)

The Foresight platform comes with a software development kit (SDK) that includes:

  • High-end Android-based and low-end Linux-based solutions
  • Android SDK
  • Google TV
  • Connected applications and base TV software stacks
  • DVD/VCD/CD-DA navigation
  • HDMV, BD-J stack
  • Customizable OSD

You can have a look at a typical Digital TV software architecture running on Marvell Foresight platform below, showing the application layer, middleware (including Android libraries and Dalvik), device drivers and the Linux operating system.

Marvell Foresight DTV Software Architecture (Click to Enlarge)

The platform supports the following software standards:

  • Broadcast: ATSC, DVB, MHEG,CI+, ARIB, Ginga, Tru2Way, CableCard
  • 3D Video: Sensio
  • Protocols: HLS, DASH, DLNA, CEA-2014, RVU
  • Graphics & Video API: DirectFB, OpenGL ES and OpenMax IL

and many common applications such as Adobe Flash, Netflix, Skype, Hulu Plus, Vudu, Pandora, YouTube, Picasa, Flickr and iPlayer.

The SDK is not available online, so you’ll have to contact Marvell to get the Foresight reference design and corresponding Android and Linux SDK.

Further information is available on Marvell Armada 1500 page.

Tweet Marvell announced that its Foresight Platform, powered by Marvell ARMADA 1500 HD Secure Media Processor System-on-a-Chip (SoC), will be officially used by Google TV (replacing Intel CE4100 SoC) and...

Смотрите также