See the list below to learn the basic terminology of the Android Open Source Project (AOSP). Here are other sources for definitions of key terms:
- Android Compatibility Definition Document (CDD) Build Parameters section
- Audio terminology
- USB Audio Terminology
- Automotive Terminology
- Automotive Dialer Terminology
- Automotive Instrument Cluster Terminology
- App Developer Vocabulary
- Camera Version Terminology
- Device Tree Overlay (DTO) Terminology
- Framework Compatibility Matrix (FCM) Lifecycle Terminology
- Health Terminology
- HIDL Terminology
- Hardware-backed Keystore Terminology
- Multi-Display Terminology
See Coding with respect for examples of terminology to use and avoid for a more inclusive ecosystem.
- .apk file
- Android application package file. Each
Android application is compiled and packaged in a single file that
includes all of the application's code (.dex files), resources, assets,
and manifest file. The application package file can have any name but
must use the
.apkextension. For example:
myExampleAppname.apk. For convenience, an application package file is often referred to as an ".apk".
- A description of something that an Intent sender wants done. An action
is a string value assigned to an Intent. Action strings can be defined by Android or by a
third-party developer. For example, android.intent.action.VIEW for a Web URL, or
com.example.rumbler.SHAKE_PHONE for a custom application to vibrate the phone.
- A single screen in an application, with supporting Java code, derived
Activityclass. Most commonly, an activity is visibly represented by a full screen window that can receive and handle UI events and perform complex tasks, because of the Window it uses to render its window. Though an Activity is typically full screen, it can also be floating or transparent.
- From a component perspective, an Android application consists of one or more activities, services, listeners, and intent receivers. From a source file perspective, an Android application consists of code, resources, assets, and a single manifest. During compilation, these files are packaged in a single file called an application package file (.apk).
- Broadcast Receiver
- An application class that listens for Intents that are broadcast, rather than being sent to a single target application/activity. The system delivers a broadcast Intent to all interested broadcast receivers, which handle the Intent sequentially.
- Content Provider
- A data-abstraction layer that you can use to safely expose your
application's data to other applications. A content provider is built on
ContentProviderclass, which handles content query strings of a specific format to return data in a specific format. See Content Providers topic for more information.
Related: URI Usage in Android
- A floating window that acts as a lightweight
form. A dialog can have button controls only and is intended to perform a
simple action (such as button choice) and perhaps return a value. A dialog
is not intended to persist in the history stack, contain complex layout,
or perform complex actions. Android provides a default simple dialog for
you with optional buttons, though you can define your own dialog layout.
The base class for dialogs is
- An message object that you can use to launch or communicate with other
applications/activities asynchronously. An Intent object is an instance of
Intent. It includes several criteria fields that you can supply, to determine what application/activity receives the Intent and what the receiver does when handling the Intent. Available criteria include the desired action, a category, a data string, the MIME type of the data, a handling class, and others. An application sends an Intent to the Android system, rather than sending it directly to another application/activity. The application can send the Intent to a single target application or it can send it as a broadcast, which can in turn be handled by multiple applications sequentially. The Android system is responsible for resolving the best-available receiver for each Intent, based on the criteria supplied in the Intent and the Intent Filters defined by other applications. For more information, see Intents and Intent Filters.
- Intent Filter
- A filter object that an application declares in its manifest file, to tell the system what types of Intents each of its components is willing to accept and with what criteria. Through an intent filter, an application can express interest in specific data types, Intent actions, URI formats, and so on. When resolving an Intent, the system evaluates all of the available intent filters in all applications and passes the Intent to the application/activity that best matches the Intent and criteria. For more information, see Intents and Intent Filters.
- Nonprogrammatic application components that are external to the
compiled application code, but which can be loaded from application code
using a well-known reference format. Android supports a variety of
resource types, but a typical application's resources would consist of UI
strings, UI layout components, graphics or other media files, and so on.
An application uses resources to efficiently support localization and
varied device profiles and states. For example, an application would
include a separate set of resources for each supported local or device
type, and it could include layout resources that are specific to the
current screen orientation (landscape or portrait). For more information
about resources, see Resources
and Assets. The resources of an application are always stored in the
res/*subfolders of the project.
- An object of class
Servicethat runs in the background (without any UI presence) to perform various persistent actions, such as playing music or monitoring network activity.
- URIs in Android
- Android uses URI (uniform resource identifier) strings as the basis for requesting data in a
content provider (such as to retrieve a list of contacts) and for requesting
actions in an Intent (such as opening a Web page in a browser). The URI
scheme and format is specialized according to the type of use, and an
application can handle specific URI schemes and strings in any way it
wants. Some URI schemes are reserved by system components. For example,
requests for data from a content provider must use the
content://. In an Intent, a URI using an
http://scheme will be handled by the browser.
- Android Debug Bridge, a command-line debugging application included with the SDK. It provides tools to browse the device, copy tools on the device, and forward ports for debugging. If you are developing in Android Studio, adb is integrated into your development environment. See Android Debug Bridge for more information.
- Android project
- A Git repository on an Android Gerrit host. See Source Control Tools > Gerrit for more information.
- Build fingerprint
- The build fingerprint is a unique, human-readable string containing manufacturer information issued to each build. See Understanding build fingerprints for more information.
- Git branch - canonical
- Distinct versions for each Git repository, such as
android-11.0.0_r1, found at cs.android.com/android/platform/superproject/+/android-11.0.0_r1. See Git Branching - Branches in a Nutshell for more information.
- Git branch - local
- A temporary branch in the current Repo client to make code changes, started with the
repo start branch-name .command. an active line of development. The most recent commit on a branch is referred to as the tip of that branch.
- Git repository
- Sometimes referred to as a project, this is a portion of the codebase representing a
particular component or type of device, such as
- Manifest file
- An XML file that describes a grouping of Git repositories per branch, the Git revisions at
which to check out those repositories, and their layout on a filesystem. This XML file,
default.xml, is associated with a Repo branch and describes the Git repositories and Git branches checked out when you initialize and sync the Repo branch. This file defines the various Git repositories the Repo tool should fetch into a Repo client checkout in order to build a product (such as Android Automotive OS). See all manifests at android.googlesource.com/platform/manifest/+refs. See the default manifest included in AndroidManifest files to pull in Android platform (AOSP) files at android.googlesource.com/platform/manifest/+/refs/heads/main/default.xml. See the AndroidManifest.xml file for app information and repo Manifest Format for platform development.
- Over-the-air (OTA) update
- Android devices in the field can receive and install over-the-air (OTA) updates to the system, application software, and time zone rules. See OTA Updates for more information.
- Repo branch
- A collection of Git repositories captured in an AndroidManifest file
that represents a version (build) of the Android codebase, such as
aosp-android-games-sdk, downloaded via
repo synccommands. See the Manifest file description for links to all manifest files and use https://cs.android.com/ to search for their builds.
- In general, uprev updates a constituent subproject of a larger project to a newer version. An uprev changes a revision level to either the next incremented version or to the latest available version. In the case of a HIDL package, to maintain the package-level backwards-compatible extensibility, a minor-version uprev updates the new package to a higher minor version while keeping the same name and major version as the old package. In the case of the Bootloader configuration, an uprev updates the boot header version support to the latest version.
- Android Runtime (ART) and Dalvik
- The Android runtime (ART) is the managed runtime used by applications and some system services on Android. The Android runtime (ART) is the default runtime for devices running Android 5.0 (API level 21) and higher. ART and its predecessor Dalvik were originally created specifically for the Android Open Source Project. ART as the runtime executes the Dalvik Executable format and Dex bytecode specification. ART and Dalvik are compatible runtimes running Dex bytecode, so apps developed for Dalvik should work when running with ART.
- A codeline contains the release of a software product. It consists of one or more branches from one or more repositories, all of which are often under active development at once. The codeline is the aggregation point and target for the release. For more information about codelines, see Android Software Management.
- .dex file
- Compiled Android application code file.
Android programs are compiled into .dex (Dalvik Executable) files, which are in turn zipped into a single .apk file on the device. .dex files can be created by automatically translating compiled applications written in the Java programming language.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2024-02-13 UTC.