Content deleted Content added
29/081988 Tags: Reverted references removed Visual edit Mobile edit Mobile web edit |
m Open access bot: url-access=subscription updated in citation with #oabot. |
||
(One intermediate revision by one other user not shown) | |||
Line 1:
{{short description|Process of writing software for Android operating system}}
{{Use mdy dates|date=November 2014}}
[[File:AOSP Android Stack.png|thumb|The Android stack'''<ref name=":1">{{cite web|url=https://source.android.com/source/index.html |title=The Android Source Code |website=Source.Android.com |access-date=February 2, 2017}}</ref>''']]
[[File:Nexus 4.png|thumb|The [[Nexus 4]], part of the [[Google Nexus]] series, a line of "developer-friendly" devices<ref name=friendly>{{cite news|title=Editorial: Why You Should Go Nexus|url=http://droidlessons.com/why-you-should-go-nexus-opinion-2/|access-date=August 22, 2023|newspaper=Droid Lessons|date=September 24, 2023
|author=Syed H|archive-url=https://web.archive.org/web/20170218000749/http://droidlessons.com/why-you-should-go-nexus-opinion-2/|archive-date=February 18, 2017|url-status=dead}}</ref>]]
'''Android software development''' is the process by which applications are created for devices running the [[Android (operating system)|Android]] mobile operating system. Google states that<ref name="Android Dev Fundamentals">{{Cite web|url=https://developer.android.com/guide/components/fundamentals|title=Application Fundamentals|website=Android Developers}}</ref> "Android apps can be written using [[Kotlin (programming language)|Kotlin]], [[Java (programming language)|Java]], and [[C++]] languages" using the Android [[software development kit]] (SDK), while using other languages is also possible. All non-[[Java virtual machine]] (JVM) languages, such as [[Go (programming language)|Go]], [[JavaScript]]<!-- for Android's webviews-->, [[C (programming language)|C]], [[C++]] or [[Assembly language|assembly]], need the help of JVM language code, that may be supplied by tools, likely with restricted API support. Some programming languages and 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. The official Android app distribution mechanism to end users is [[Google Play]]; it also allows staged gradual app release, as well as distribution of pre-release app versions to testers.
==Official development tools==
The [[Android 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 as <code>adb</code> and <code>fastboot</code>.<ref>
{{cite journal | last = Modesti | first = Paolo | date = March 2021 | title = A Script-Based Approach for Teaching and Assessing Android Application Development | url = https://doi.org/10.1145/3427593 | journal = ACM Transactions on Computing Education | volume = 21 | issue = 1 | pages = 1–24 | doi = 10.1145/3427593 | access-date = May 8, 2022| url-access = subscription }}</ref> The [[Android Debug Bridge]] (ADB) is a tool to run commands on a connected Android device. [[Fastboot]] is a [[communications protocol|protocol]] used for flashing filesystems. Code written in [[C (programming language)|C]]/[[C++]] can be [[compiler|compiled]] to [[ARM architecture|ARM]], or [[x86]] [[native code]] (or their 64-bit variants) using the [[Android NDK|Android Native Development Kit]] (NDK).
===Android Open Accessory Development Kit===
|