Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Android software development

From Wikipedia, the free encyclopedia
Process of writing software for Android operating system

The Android stack[1]
TheNexus 4, part of theGoogle Nexus series, a line of "developer-friendly" devices[2]

Android software development is the process by which applications are created for devices running theAndroid mobile operating system. Google states that[3] "Android apps can be written usingKotlin,Java, andC++ languages" using the Androidsoftware development kit (SDK), while using other languages is also possible. All non-Java virtual machine (JVM) languages, such asGo,JavaScript,C,C++ orassembly, need the help of JVM language code, that may be supplied by tools, likely with restricted API support. Some programming languages and tools allowcross-platform app support (i.e. for both Android andiOS). Third party tools, development environments, and language support have also continued to evolve and expand since the initial SDK was released in 2008. The official Android app distribution mechanism to end users isGoogle Play; it also allows staged gradual app release, as well as distribution of pre-release app versions to testers.

Official development tools

[edit]

TheAndroid software development kit (SDK) includes a comprehensive set of development tools. The Android SDK Platform Tools are a separately downloadable subset of the full SDK, consisting of command-line tools such asadb andfastboot.[4] TheAndroid Debug Bridge (ADB) is a tool to run commands on a connected Android device.Fastboot is aprotocol used for flashing filesystems. Code written inC/C++ can becompiled toARM, orx86native code (or their 64-bit variants) using theAndroid Native Development Kit (NDK).

Android Open Accessory Development Kit

[edit]

The Android 3.1 platform (also backported to Android 2.3.4) introduces Android Open Accessory support, which allows externalUSB 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.[5]

External hardware development

[edit]

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

Android emulators and subsystems

[edit]

Android Developer Challenge

[edit]
Main article:Android Developer Challenge

The Android Developer Challenge was a competition to find the most innovative application for Android. Google offered prizes totaling 10 millionUS 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.[6][7] It ended in early September with the announcement of ten teams that received $275,000 each, and ten teams that received $100,000 each.[8]

ADC II was announced on May 27, 2009.[9] The first round of the ADC II closed on October 6, 2009.[10] 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.[11][12]

Community-based distributions

[edit]
See also:List of custom Android distributions

There is a community ofopen source enthusiasts that build and share Android-based distributions (i.e.firmware) with a number of customizations and additional features, such asFLAC lossless audio support and the ability to store downloaded applications on themicroSD card.[13] This usually involvesrooting 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 ofbricking, losing warranty, increased virus attack risks, etc.[14] 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.[15]

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 andOMFGB are examples of such firmware.

On September 24, 2009, Google issued acease and desist letter[16] to the modder Cyanogen, citing issues with the re-distribution of Google's closed-source applications[17] 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 theGoogle Play and GPS navigation. Google has asserted that these applications can only be provided through approved distribution channels by licensed distributors. Cyanogen complied with Google's license and continued to distribute its mod without the proprietary software. It provided a method to backup licensed Google applications during the mod's install process and restore them when the process is complete.[18]

Java standards

[edit]
Main article:Comparison of Java and Android API

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

Android provides its own GUI classes, and does not provide Java AWT, Swing or JavaFX. It does not support the full Java Beans API.[citation needed]

History and market share

[edit]

Android was created by theOpen Handset Alliance, which is led by Google. The early feedback on developing applications for the Android platform was mixed.[23] 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.)[24] 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."[25] Despite this, Android-targeted applications began to appear the week after the platform was announced. The first publicly available application was theSnake game.[26]

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

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

On December 5, 2008, Google announced the firstAndroid Dev Phone, aSIM-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,[31] with over 25 billion downloads.[32][33] A June 2011 research indicated that over 67% of mobile developers used the platform, at the time of publication.[34] Android smartphone shipments ware forecast to exceed 1.2 billion units in 2018 with an 85% market share.[35]

See also

[edit]
Wikiversity has learning resources aboutAndroid programming

References

[edit]
  1. ^"The Android Source Code".Source.Android.com. RetrievedFebruary 2, 2017.
  2. ^Syed H (September 24, 2023)."Editorial: Why You Should Go Nexus".Droid Lessons. Archived fromthe original on February 18, 2017. RetrievedAugust 22, 2023.
  3. ^"Application Fundamentals".Android Developers.
  4. ^Modesti, Paolo (March 2021)."A Script-Based Approach for Teaching and Assessing Android Application Development".ACM Transactions on Computing Education.21 (1):1–24.doi:10.1145/3427593. RetrievedMay 8, 2022.
  5. ^"Android Developers guides". Developer.android.com. RetrievedApril 17, 2021.
  6. ^Chen, Jason (May 12, 2008)."The Top 50 Applications".Android Developers Blog.Archived from the original on September 25, 2009. RetrievedSeptember 4, 2009.
  7. ^Brown, Eric (May 13, 2008)."Android Developer Challenge announces first-round winners".Linux for Devices. Archived fromthe original on May 14, 2008.
  8. ^"ADC I Top 50 Gallery".Android Developer Challenge. RetrievedMay 19, 2009.
  9. ^"Android Developer Challenge".Google Code. RetrievedJanuary 11, 2008.
  10. ^Chu, Eric (October 6, 2009)."ADC 2 Round 1 Scoring Complete".Android Developers Blog.Archived from the original on November 1, 2009. RetrievedNovember 3, 2009.
  11. ^"ADC 2 Overall Winners".Android Developer Challenge.Archived from the original on January 4, 2011. RetrievedDecember 5, 2010.
  12. ^Kharif, Olga (November 30, 2009)."Android Developer Challenge 2 Winners Announced".BusinessWeek. Archived fromthe original on December 4, 2009. RetrievedDecember 5, 2010.
  13. ^"Dream android development".xda-developers forum. RetrievedSeptember 11, 2009.
  14. ^"Rooting: Advantages and Disadvantages".ITCSE forum. Archived fromthe original on November 29, 2014. RetrievedSeptember 21, 2013.
  15. ^"Android 2.1 from Motorola Droid Ported to G1".Volt Mobile. March 10, 2010. Archived fromthe original on May 31, 2011. RetrievedMay 13, 2011.
  16. ^Wimberly, Taylor (September 24, 2009)."CyanogenMod in trouble?".Android and me.Archived from the original on October 3, 2009. RetrievedSeptember 26, 2009.
  17. ^Morrill, Dan (September 25, 2009)."A Note on Google Apps for Android".Android Developers Blog.Archived from the original on October 25, 2009. RetrievedSeptember 26, 2009.
  18. ^"The current state..."CyanogenMod Android ROM. September 27, 2009. Archived fromthe original on November 3, 2009. RetrievedSeptember 27, 2009.
  19. ^van Gurp, Jilles (November 13, 2007)."Google Android: Initial Impressions and Criticism".Javalobby. Archived from the original on August 28, 2008. RetrievedMarch 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
  20. ^"Myriad's New J2Android Converter Fuels Android Applications Gold Rush". March 19, 2010. Archived fromthe original on July 4, 2011. RetrievedMay 13, 2011.
  21. ^Fruhlinger, Josh (March 23, 2010)."J2Android hopes you don't know that Android is Java-based".JavaWorld. Retrieved2020-07-13.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.
  22. ^Fruhlinger, Josh (March 31, 2010)."Myriad CTO: J2Android moves MIDlets to "beautiful" Android framework".JavaWorld. Retrieved2020-07-13.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.
  23. ^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. RetrievedDecember 19, 2007.
  24. ^Morrill, Dan (January 18, 2008)."You can't rush perfection, but now you can file bugs against it".Android Developers Blog. RetrievedSeptember 3, 2009.
  25. ^Morrison, Scott (December 19, 2007)."Glitches Bug Google's Android Software".The Wall Street Journal. RetrievedDecember 19, 2007.
  26. ^"First Android Application — Snake".Mobiles2day. November 14, 2007. Archived fromthe original on May 11, 2008. RetrievedJanuary 7, 2008.
  27. ^Metz, Cade (July 14, 2008)."Google plays Hide and Seek with Android SDK".The Register.Archived from the original on October 6, 2008. RetrievedOctober 23, 2008.
  28. ^"Android — An Open Handset Alliance Project: Upgrading the SDK". Archived fromthe original on September 13, 2008. RetrievedOctober 24, 2008.
  29. ^"Other SDK Releases".Android Developers. RetrievedSeptember 2, 2009.
  30. ^"SDK Archives".Android Developers.
  31. ^"Google Play Hits 1 Million Apps".Mashable. July 24, 2013.
  32. ^"Android App Stats". Archived fromthe original on January 2, 2011. RetrievedDecember 31, 2010.
  33. ^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. RetrievedMay 13, 2011.
  34. ^"Developer Economics 2011". Archived fromthe original on September 29, 2013. RetrievedJuly 8, 2011.
  35. ^"Worldwide Smartphone Volumes Will Remain Down in 2018 Before Returning to Growth in 2019 and Beyond, According to IDC".idc.com. May 30, 2018. Archived fromthe original on October 17, 2019. RetrievedJune 6, 2018.

Bibliography

[edit]
Wikibooks has a book on the topic of:Android
Software
development
Development tools
Official
Other
Integrated development
environments
(IDE)
Languages,databases
Augmented reality andvirtual reality
Events,communities
Releases
Derivatives
Devices
Pixel
Nexus
Play edition
Custom
distributions
Booting and
recovery
APIs
AlternativeUIs
Rooting
Lists
Related topics
Linux
Kernel
GNU/
Linux
XNU
QNX
Microsoft
Windows
Zircon
FreeBSD,NetBSD
OpenHarmony,
HarmonyOS NEXT
FreeRTOS
  • Amazfit OS
    • Zepp OS
  • MIUI Band OS
Nintendo
system software
Minix 3
Symbian
Others
a subsidiary ofAlphabet
Company
Divisions
Subsidiaries
Active
Defunct
Programs
Events
Infrastructure
People
Current
Former
Criticism
General
Incidents
Other
Software
A–C
D–N
O–Z
Operating systems
Machine learning models
Neural networks
Computer programs
Formats and codecs
Programming languages
Search algorithms
Domain names
Typefaces
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
Y
Hardware
Pixel
Smartphones
Smartwatches
Tablets
Laptops
Other
Nexus
Smartphones
Tablets
Other
Other
Advertising
Antitrust
Intellectual
property
Privacy
Other
Related
Concepts
Products
Android
Street View coverage
YouTube
Other
Documentaries
Books
Popular culture
Other
Linux kernel
Controversies
Distributions
Organizations
Adoption
Media
Security
certifications
Retrieved from "https://en.wikipedia.org/w/index.php?title=Android_software_development&oldid=1298753219"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp