Skip to content
Search

Android

lastmod 2026-03-03created 2013-12-29168 edits

Android Packages (list)

Android is a software stack and mobile operating system for portable devices including mobile phones, containing an operating system, middleware, a user interface, and standard applications (web browser, email client, Short Message Service (SMS), Multimedia Messaging Service (MMS), etc.). Android lets developers write applications in the java language and provides runtime libraries that can run the compiled bytecode. It also provides, through the Android Software Development Kit (SDK), the various tools and application programming interfaces (API) needed to develop applications.

Android runs on top of the Linux kernel and includes C/C++ libraries used by various Android system components. Android is structured to run applications written in java in separate processes through the Dalvik virtual machine, a virtual machine different from the existing Java virtual machine.

After Google acquired Android Inc. in 2005, it announced in November 2007 that the Android platform would be released free as an operating system for portable devices, and since then it has been developed toward open standards by the Open Handset Alliance (Open Handset Aliance, OHA), formed by 48 hardware, software, and telecommunications companies. Google distributes all of Android's source code under the Apache v2 license, an open-source license, so companies and users can each independently develop and ship their own Android programs. Google also provides Google Play, where applications can be bought and sold, and application markets run by each manufacturer or carrier operate alongside it. The markets offer both paid and free applications.

Version Information

Version

Codename

Release date

API Level

Share (January 8, 2014)

4.4.x

KitKat

October 31, 2013

19

1.4%

4.3.x

Jelly Bean

July 24, 2013

18

7.8%

4.2.x

Jelly Bean

November 13, 2012

17

15.4%

4.1.x

Jelly Bean

July 9, 2012

16

35.9%

4.0.3 ~ 4.0.4

Ice Cream Sandwich

December 16, 2011

15

16.9%

3.2

Honeycomb

July 15, 2011

13

0.1%

2.3.1 ~ 2.3.7

Gingerbread

February 9, 2011

10

21.2%

2.2

Froyo

May 20, 2010

8

1.3%

How to enable developer options

Reference: http://chobbang.com/85
Starting with Jelly Bean 4.2, developer options are not visible unless you enable them. They are enabled as follows.

  • Nexus7: Applications > Settings > About tablet > Build number
  • Ordinary Android phones: Applications > Settings > About phone > Build number

Click the build number box 3 times and a Toast box shows whether developer options are enabled.

How to install drivers

Describes how to install Android drivers.

MTP mode

These days, when Android phones are connected to a PC over USB, they connect using MTP mode.
MTP mode stands for "Media Transfer Protocol".

Perhaps for that reason, Windows 7 and Windows 8 come with a recent Media Player installed, so you can use MTP mode without installing a separate driver, but on Windows XP you must install Media Player version 11 or later to use MTP mode.

ADB driver

For the Nexus series, after installing the Android SDK, check /extras/google/usb_driver in the SDK folder. If the driver does not install using this directory, use Let me pick from a list of device drivers on my computer and select Android Composite ADB Interface.

How to root (Rooting)

Android System architecture

Android-system-architecture.jpg

The following diagram shows the major components of the Android operating system. Each section is described in more detail below.

Linux Kernel
Android uses Linux for internal memory management, process management, networking, operating system services, and so on.
Libraries
The layer directly above the kernel holds Android's built-in libraries. These libraries are all written in C or C++, compiled for specific hardware, and preinstalled on the device. Their functionality is exposed to developers through the application framework above, and the important libraries are as follows.
  • Serface manager: A library that combines Surfaces. A Surface can be understood as a single screen; it combines multiple program screens to provide various interesting graphic effects such as translucent windows and fancy transitions.
  • Media Framework: Media codec support for video playback and for audio recording and playback.
  • SQLite: A lightweight database engine.
  • WebKit: A browser engine for displaying HTML content quickly.
Since Android is Java-based, it uses JNI (Java Native Interface) to use programs written in C/C++
Android Runtime
The layer that contains the Dalvik VM (Virtual Machine) and the core Java libraries. Dalvik is Google's counterpart to Java, optimized and implemented for mobile devices, and it differs from typical Java as follows. The Dalvik VM runs .dex files, which are standard .class and .jar files converted at compile time. These files are smaller and more efficient than class files, so they suit environments that run on little memory and battery. The core Java libraries differ from the Java Standard Edition (Java SE) and Java Mobile Edition (Java ME) libraries, but overlap with them considerably.
Application Framework
Provides the building blocks (Building Block) used when making applications. Applications cannot call the lower kernel or system libraries directly; they request functionality through this layer. The important parts of the framework are the Activity manager, Content provider, Resource manager, and Notification manager. See #Android Application Component for details.
Application
The top layer of the Android architecture: the programs you can see. Diligently made in the Java programming language. This is where the programs you need to make live.

Android Application Component

Describes the four basic components that make up an Android application.

Activity
The visual UI. An application has one or more activities (activity), which work together for a combined UI, but each activity (activity) is independent.
Each activity (activity) is given one default window it can draw (draw) in, and can also use additional windows.
Service
Runs in the background (background) without a UI (music playback, data processing, etc.). For example, a music player has one or more activities (activity) for selecting/playing/rewinding/skipping to the next track, but so that music keeps playing after the user leaves the player screen, playback must not be controlled by the activity (activity); the activity (activity) should start a service (service).
It is also possible to connect to a running service (service); in the case of a music player, this interface lets the user stop/play/skip to the next track even during playback.
Broadcast receiver
An application has any number of broadcast receivers so it can receive broadcast announcements (low battery, time zone change, language change, etc.) and respond when needed.
Content provider
The center of any action that wants to get some information from an application. It exposes ways for external applications to fetch or update various data stored on the device, such as contacts, media, bookmarks, and call logs. You use a Content Provider or implement one yourself.
During development, you specify which Content Provider to use with a URI, send queries with SQL statements, and browse the results with a Cursor. Content Providers are easy to make and easy to use, and they do what they are supposed to do without caring about the rest.

Installing the Android SDK

Android API Guides

Basic

UI

Resource

Device

ETC

Native

Design

  • Animation
  • Style
    • Color
    • Icons
    • Imagery
    • Typography
    • Writing
  • Layout
  • Components
  • Patterns
  • Usability
  • Resources
  • E.T.C



Application Components



Administration

User Interface



Animation & Graphics

Data Storage



Application Resources

Text & Input

  • Copy and Paste.
  • Creating an IME
    • Copy and Paste.
    • Creating an IME.
    • Android Soft Keyboard.
    • Spelling Checker.
  • Spelling Checker.



Guide Connectivity



Location & Sensors



Media & Camera

Best Practices

  • Compatibility.
  • Supporting Multiple Screens.
  • Supporting Tablets and Handsets.
  • Designing for Performance.
  • Designing for Responsiveness.
  • Designing for Seamlessness.
  • Designing for Security.
  • Dependency Injection
  • Android:Design



Google Services



Web Applications

  • Targeting Screens from Web Apps.
  • Building Web Apps in WebView.
  • Debugging Web Apps.
  • Best Practices for Web Apps.



Computation



Troubleshooting

Native Developer



AOSP

Other topics

Java topics

Commandline Tools

Emulators

  • Genymotion
  • Andro VM
  • Anbox
  • Android-x86
  • Shashlik
  • ARChon
  • Andy OS
  • BlissOS

Gradle Build

Examples

Design

Tutorials

Libraries

Android:ViewPager

Testing

Multimedia

Scripting

Favorite

Device

  • Nexus7
  • Nexus 5X
  • Samsung S20 Ultra

Tools

Building an Android app in 2025

  • Building an Android app in 2025 - DEV Community
  • Build - gradle
  • Build configuration- convention plugin
  • Dependency management - version catalog
  • Adopting build cache
  • Build performance analysis - build-scan
  • Module structure - split by feature
  • Networking - retrofit
  • json mapping - kotlinx serialization
  • Persistent data storage - jetpack datastore, room
  • DI - koin
  • Image loader - coil
  • UI - compose
  • Communication between View and ViewModel - flow
  • Code quality management - ktlint , konsist
  • Unit testing - junit 4

Documentations

131014 Android Design Guideline
An Android design guide Word file I made when I worked at Zekitalk
131014-Android_Design_Guideline.zip

See also

Favorite site

APK

  • [Recommended] APKMirror - Free APK Downloads - Free and safe Android APK downloads

Tutorials

Tools

Guide

App distribution

Articles

References


  1. How_to_root_or_update_a_Nexus_Android_using_only_open_source_tools_-_Aaron_Horler.pdf ↩

  2. android-ui-utils ↩

  3. AndroidDesignPreview-0.3.2.tar.gz ↩

  4. Github: AndroidAssetStudio ↩

  5. DPI_Calculator-PPI_Calculator_html.zip ↩

  6. Pro_Android_Cpp_with_the_NDK.pdf ↩

  7. Wikiware-textcube.blogspot_-_Android_Application_Basic.pdf ↩

  8. Android_Design_Downloads_20131106.zip ↩

  9. Consideration-of-android-performance.pdf ↩

  10. Android_sdk_connect_source.pdf ↩

author Zer0 sitemap