Sie sind auf Seite 1von 76

Android software

development

The Android stack[1]


The Nexus 4, part of the Google Nexus series, a line
of "developer-friendly" devices.[2]

Android software development is the


process by which new applications are
created for devices running the Android
operating system. Google states that,[3]
"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-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
languages/programming tools allow
cross-platform app support, i.e. for both
Android and iOS. Third party tools,
development environments and language
support have also continued to evolve
and expand since the initial SDK was
released in 2008. In addition, with major
business entities like Walmart, Amazon,
Bank of America etc. eyeing to engage
and sell through mobiles, mobile
application development is witnessing a
transformation.[4]

Official development tools


Android SDK
Android SDK
Developer(s) Google

Initial release October 2009

Stable release 26.1.1 /


September 2017[5]

Written in Java

Operating system Cross-platform

Available in English

Type IDE, SDK

Website developer.android
.com/sdk/index.html

The Android software development kit


(SDK) includes a comprehensive set of
development tools.[6] 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, the SDK is not available
on Android itself, but software
development is possible by using
specialized Android applications.[7][8][9]

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,[10] and
NetBeans IDE also supports Android
development via a plugin.[11] As of 2015,
Android Studio,[12] 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. 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).[13][7]

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

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

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 run commands on a connected
Android device. The adbd daemon
runs on the device, and the adb client
starts a background server to multiplex
commands sent to devices. In addition to
the command-line interface,[16] numerous
graphical user interfaces exist to control
adb.

The format for issuing commands is


typically:

adb [-d|-e|-s
<serialNumber>] <command>
where -d is the option for
specifying the single USB-
attached device,
-e for the single
running Android emulator on
the computer,
-s for specifying a
USB-attached device by its
unique 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.[17]

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".[18]

Fastboot

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
Android NDK
Developer(s) Google

Initial release June 2009[19]

Stable release r18 /


September 2018[19]

Preview release r18 Beta 2

Written in C and C++

Operating system Windows Vista and


later
OS X 10.10 and later
Linux

Platform IA-32 (Windows only)


or x86-64 (Windows,[20]
macOS and Linux)

Available in English

Type SDK
Website developer.android
/ dk/

Code written in C/C++ can be compiled


to ARM, or x86 native code (or their 64-
bit variants) using the Android Native
Development Kit (NDK). The NDK uses
the Clang compiler to compile C/C++.
GCC was included until NDK r17, but
removed in r18 in 2018.

Native libraries can be called from Java


code running under the Android Runtime
using System.loadLibrary , part of
the standard Android Java classes.[21][22]

Command-line tools can be compiled


with the NDK and installed using adb[23].
Android uses Bionic as its C library, and
the LLVM libc++ as its C++ Standard
Library. The NDK also includes a variety
of other APIs[24]: zlib compression,
OpenGL ES or Vulkan graphics, OpenSL
ES audio, and various Android-specific
APIs for things like logging, access to
cameras, or accelerating neural
networks.

The NDK includes support for CMake and


its own ndk-build (based on GNU
Make). Android Studio supports running
either of these from Gradle. Other third-
party tools allow integrating the NDK into
Eclipse[25] and Visual Studio.[26]
For CPU profiling, the NDK also includes
simpleperf[27] which is similar to the
Linux perf tool, but with better support
for Android and specifically for mixed
Java/C++ stacks.

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

Native Go support

Since version 1.4 of the Go programming


language, writing applications for
Android is supported. With Go version
1.7, and with the help of the gomobile
tool (i.e. gomobile build ),
compiling to Android APK and iOS apps
is supported from the same Go
codebase. Strictly speaking, Java/JVM
code is always needed to run on Android,
but the gomobile tool provides the
minimal JVM code needed (or Objective-
C code needed in case of iOS). Go
support is restricted to what Go types
can be used and (currently) to a
restricted set of Android APIs (e.g.
OpenAL and OpenGL ES 2 bindings are
provided that could be used to make
2D/3D games, such one of the provided
examples[29] for Android or iOS, or other
graphics applications).[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

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.

Android::Build

Android::Build is a Perl CPAN module


which enables callers to build an Android
APK file using only the basic command
line tools: aapt, dx, javac, jarsigner,
zipalign without having to rely on either
Apache Ant or Gradle. This reduced
dependency set simplifies continuous
release systems which rely on fully
automated remote app generation and
testing.

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

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,
Coreliu

Coreliu enables non technical users to


write immersive educational apps which
run natively on Android devices.[40] App
authors use a file held in a GitHub
repository to describe the images and
text to be used in the app. Speech is
generated from the text via Amazon Web
Services Polly. Coreliu packages the
photos and generated speech into an
Android APK file that the author can
distribute freely using a Creative
Commons License.

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
Delphi can also be used for creating
Android application in the Object Pascal
language. The latest release is Delphi 10
Seattle, developed by Embarcadero.[41]
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.

DroidScript

A rapid application development tool for


developing 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 makes use of Google’s
Chrome V8 JavaScript engine.

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

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.

Lazarus

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.
Processing

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.[42] 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.[43] Qt Creator
is the integrated development
environment provided with the Qt
Framework for multi-platform application
development.

RubyMotion

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

SDL

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,[45] allowing Android
ports like e.g. the Jagged Alliance 2
video game.[46]

Stripe Android
As for this payment framework, it
substantially simplifies the development
process as developers don't need to send
card data outright to their server.
Framework sends data to Stripe servers
where they can be converted to tokens
afterward. Android app receives its token
and sends it to its server to process the
payment.[47] Stripe offers a few methods
of online payment and it supports more
than 100 currencies.[48]

Visual Studio Emulator for


Android

Microsoft shipped in 2015 a free stand-


alone emulator for Android, dubbed
Visual Studio Emulator for Android.[49]
The emulator supports installation of
Google Play through a drag-and-drop
interface.[50] It can work in conjunction
with Visual Studio, which 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.[51]

Xamarin
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.

Android Developer
Challenge
The Android Developer Challenge was a
competition to find the most innovative
application for Android.[52] 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.[53][54] It
ended in early September with the
announcement of ten teams that
received $275,000 each, and ten teams
that received $100,000 each.[55]

ADC II was announced on May 27,


2009.[56] The first round of the ADC II
closed on October 6, 2009.[57] 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.[58][59]

Community-based
distributions
There is a community of open-source
enthusiasts that build and share Android-
based distributions (i.e. 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.[60] 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.[61] It is also
possible to install custom firmware,
although the device's boot loader must
also be unlocked. Custom firmware
allows users of older phones to use
applications available only on newer
releases.[62]

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[63] to the modder
Cyanogen, citing issues with the re-
distribution of Google's closed-source
applications[64] 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.[65]

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.[66] However, there are multiple
tools in the market from companies such
as Myriad Group and UpOnTek that
provide Java ME to Android conversion
services.[67][68][69]

Android provides its own GUI classes,


and does not provide Java AWT, Swing or
JavaFX. It does not support the full Java
Beans API.

History and market share


The "Sooner" prototype phone,[70] prior to "Dream"

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.[71] 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.)[72] 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."[73]
Despite this, Android-targeted
applications began to appear the week
after the platform was announced. The
first publicly available application was
the Snake game.[74][75]

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

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.[77] On September 23, 2008, the
Android 1.0 SDK (Release 1) was
released.[78] 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 .[79]

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, more than one million


applications have been developed for
Android,[80] with over 25 billion
downloads.[81][82] A June 2011 research
indicated that over 67% of mobile
developers used the platform, at the time
of publication.[83] Android smartphone
shipments are forecast to exceed 1.2
billion units in 2018 with a 85% market
share.[84]

See also
Android Studio
List of free and open source Android
applications
Rooting (Android OS)

References
1. "The Android Source Code" .
source.android.com. Retrieved
February 2, 2017.
2. Syed H (September 24, 2012).
"Editorial: Why You Should Go Nexus" .
Droid Lessons. Retrieved April 17, 2013.
3. Android Developers Application
Fundamentals
4. Rakars, Ash (May 31, 2018). "How
Wearables Influence the Future of Mobile
Application Development?" .
5. "SDK Tools | Android Developers" .
Developer.android.com. Retrieved
April 25, 2018.
6. "Tools Overview" . Android Developers.
July 21, 2009.
7. appfour. "AIDE- IDE for Android Java
C++ - Android Apps on Google Play" .
google.com.
8. gesturedevelop. "Java Editor - Android
Apps on Google Play" . google.com.
9. Tanapro GmbH, Tom Arn.
"JavaIDEdroid - Android Apps on Google
Play" . google.com.
10. "IntelliJ Android Development" .
Retrieved September 19, 2012.
11. "NBAndroid Plugin" . Retrieved
September 19, 2012.
12. "Android Studio" .
13. Westfall, Jon (August 25, 2009).
"Backup & Restore Android Apps Using
ADB" . JonWestfall.com. Retrieved
December 7, 2009.
14. "SDK Tools" .
15. "Android SDK Glossary" .
16. "Android Debug Bridge | Android
Developers" Accessed December 27,
2012
17. Jack Wallen (2015-03-06). "How to
create a full backup of your Android
device without root" . Retrieved
2016-01-29.
18. Lemos, Robert "Open source
vulnerabilities paint a target on Android"
19. "Android NDK | Android Developers" .
Developer.android.com. November 13,
2012. Retrieved March 13, 2014.
20. "NDK Downloads | Android
Developers" . developer.android.com.
Retrieved 2018-04-24.
21. 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.
22. "java.lang.System" . Android
Developers. Retrieved September 3,
2009.
23.
https://developer.android.com/studio/co
mmand-line/adb.html
24.
https://developer.android.com/ndk/guide
s/stable_apis
25. "Using Eclipse for Android C/C++
Development" .
26. "Tutorial: Android Native
Development with Visual Studio" .
27.
https://developer.android.com/ndk/guide
s/simpleperf
28. "Accessory Development Kit | Android
Developers" . Developer.android.com.
Retrieved October 2, 2012.
29. "Command flappy" . godoc.org.
Retrieved 2018-07-17.
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
written entirely in Go 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 go.mobile/gl 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. "AppInventor.org" .
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" . Appinventor.mit.edu.
December 3, 2013. Retrieved March 13,
2014.
39. "Basic4android" .
40. "Coreliu" .
41. "Delphi Xe7" .
42. "Qt for Android" .
43. "Qt Wiki : Android" .
44. "Announcing RubyMotion 3.0: Android
Platform and More" .
45. "Simple DirectMedia Layer for
Android" . sdl.org. 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"
46. 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
47. "Stripe Android SDK" .
48. "Stripe vs PayPal vs Braintree" .
49. Mike Williams (July 21, 2015),
"Microsoft ships stand-alone Android
Emulator" , Betanews, retrieved
March 14, 2018
50. Rob Prouse (February 2, 2017),
Installing Google Play (GApps) on Visual
Studio Android Emulators (2017
version) , retrieved March 14, 2018
51. "Visual C++ Cross-Platform Mobile" .
Retrieved May 27, 2015.
52. "what makes an android development
so good" .
53. Chen, Jason (May 12, 2008). "The
Top 50 Applications" . Android
Developers Blog. Archived from the
original on September 25, 2009.
Retrieved September 4, 2009.
54. Brown, Eric (May 13, 2008). "Android
Developer Challenge announces first-
round winners" . Linux for Devices.
Archived from the original on May 14,
2008.
55. "ADC I Top 50 Gallery" . Android
Developer Challenge. Retrieved May 19,
2009.
56. "Android Developer Challenge" .
Google Code. Retrieved January 11,
2008.
57. 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.
58. "ADC 2 Overall Winners" . Android
Developer Challenge. Google. Archived
from the original on January 4, 2011.
Retrieved December 5, 2010.
59. Kharif, Olga (November 30, 2009).
"Android Developer Challenge 2 Winners
Announced" . BusinessWeek. Retrieved
December 5, 2010.
60. "Dream android development" . xda-
developers forum. Retrieved
September 11, 2009.
61. "Rooting: Advantages and
Disadvantages" . ITCSE forum. Retrieved
September 21, 2013.
62. "Android 2.1 from Motorola Droid
Ported to G1" . Volt Mobile. March 10,
2010.
63. Wimberly, Taylor (September 24,
2009). "CyanogenMod in trouble?" .
Android and me. Archived from the
original on October 3, 2009. Retrieved
September 26, 2009.
64. 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.
65. "The current state..." CyanogenMod
Android Rom. September 27, 2009.
Archived from the original on November
3, 2009. Retrieved September 27, 2009.
66. 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"
67. "Myriad's New J2Android Converter
Fuels Android Applications Gold Rush" .
March 19, 2010.
68. "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."
69. "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."
70. Richard Devine (May 6, 2012).
"Google Sooner prototype appears,
shows off one Google's first prototype
builds of Android" . androidcentral.com.
Retrieved March 1, 2015.
71. 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.
72. 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.
73. Morrison, Scott (December 19, 2007).
"Glitches Bug Google's Android
Software" . The Wall Street Journal.
Retrieved December 19, 2007.
74. "Snake" . Android Freeware Directory.
Retrieved January 26, 2008.
75. "First Android Application — Snake" .
Mobiles2day. November 14, 2007.
Retrieved January 7, 2008.
76. 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.
77. "Android — An Open Handset Alliance
Project: Upgrading the SDK" . Archived
from the original on September 13,
2008. Retrieved October 24, 2008.
78. "Other SDK Releases" . Android
Developers. Retrieved September 2,
2009.
79. "SDK Archives" .
80. "Google Play Hits 1 Million Apps" .
Mashable. July 24, 2013.
81. "Android App Stats" . Archived from
the original on January 2, 2011.
Retrieved December 31, 2010.
82. 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.
83. "Developer Economics 2011" .
84. "Worldwide Smartphone Volumes
Will Remain Down in 2018 Before
Returning to Growth in 2019 and Beyond,
According to IDC" . idc.com. May 30,
2018. Retrieved June 6, 2018.

Bibliography
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
Wikibooks has a book on the topic of:
Android

Android Developers
Building for devices at
source.android.com
Android Debug Bridge -
developer.android.com
Official Android issue tracker

Retrieved from
"https://en.wikipedia.org/w/index.php?
title=Android_software_development&oldid=8618
11342"

Last edited 6 days ago by an anon…

Content is available under CC BY-SA 3.0 unless


otherwise noted.

Das könnte Ihnen auch gefallen