Android Glossary

Here are some Android terms (some even with definitions!!)

See also the developer glossary at: http://developer.android.com/guide/appendix/glossary.html

Back to Android Portal

A

 * aapt : Android Asset Packaging Tool - a tool for creating, inspecting and modifying Android application packages.
 * Activity : A single focused thing the user can do on an Android device. Also, a java class in the Android framework, which is used as the superclass for an Activity implementation.  See http://developer.android.com/reference/android/app/Activity.html.  "An Activity presents a visual user interface for one focused endeavor the user can undertake."  See Activity on the page: http://developer.android.com/guide/topics/fundamentals.html
 * adb : Android Debug Bridge - a tool for communicating between the host and a target Android system (including an emulator running on the host). See http://developer.android.com/guide/developing/tools/adb.html
 * ADP1 : Android Developer Phone 1
 * Android : A robot resembling a human being - the name of the operating system produced by Google for mobile phones. Apparently, Andy Rubin, one of the original founders of Android, Inc. loves robots.
 * AndroidManifest.xml : A file describing the contents, permissions and other attributes of an Android application package. See http://developer.android.com/guide/topics/manifest/manifest-intro.html
 * Android, Inc. : A company founded by Andy Rubin and others to create a mobile phone operating system. Android, Inc. was acquired by Google in 2005.
 * ASE : Android Scripting Environment

B

 * Binder : An Interprocess Communication (IPC) mechanism. See http://cs736-android.pbworks.com/IPC-Binder and http://groups.google.com/group/android-developers/msg/dc0e0e872de9b0d2
 * Bionic : small C library used in Android devices
 * Bootchart : A mechanism to create visual charts of a Linux boot sequence, including the timing of process start and execution. See Using Bootchart on Android

C

 * Cliq : The US name for the Motorola Android phone.
 * Content Provider : An piece of software on an Android system that provides information (content) to other software elements. See http://developer.android.com/guide/topics/providers/content-providers.html. Also, a class which is the superclass for code which acts as a content provider.  See the ContentProvider class documentation
 * Cupcake : The code name for Android version 1.5.

D

 * Dalvik : Virtual Machine in which Android applications are run. This VM executes Dalvik bytecode, which is compiled from programs written in the Java language.  Note that the Dalvik VM is not a Java VM (JVM).
 * Every Android application runs in its own process, with its own instance of the Dalvik virtual machine. Dalvik has been written so that a device can run multiple VMs efficiently. The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal memory footprint. The VM is register-based, and runs classes compiled by a Java language compiler that have been transformed into the .dex format by the included "dx" tool.
 * Every Android application runs in its own process, with its own instance of the Dalvik virtual machine. Dalvik has been written so that a device can run multiple VMs efficiently. The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal memory footprint. The VM is register-based, and runs classes compiled by a Java language compiler that have been transformed into the .dex format by the included "dx" tool.


 * Donut : The code name for Android version 1.6
 * Dream : Code name for the mobile phone hardware publicly called the t-Mobile G1, in the United States.
 * Droid : The name for an upcoming Android phone by Motorola (I believe this is the high-end phone, and Cliq is the low-end phone?)

E

 * Eclair : The code name for Android version 2.1

F

 * fastboot : a program which communicates with the developer firmware, and which is capable of loading new software on the ADP1 phone (including re-writing the flash partitions on the device). See Android Fastboot
 * FreeType : An open-source set of fonts and font system
 * Froyo : Frozen Yogurt - The code name for Android version 2.2

G

 * G1 : The name of the first Android-based mobile phone, from t-Mobile.
 * Galaxy : The name of the first Samsung Android phone
 * Gingerbread ; The code name for Android version 3.0(??)
 * Goldfish : The name of a virtual ARM platform provided by the emulator.
 * Goldfish executes ARM926T instructions and has hooks for input and output -- such as reading key presses from or displaying video output in the emulator. There is a "goldfish" configuration file for compiling the Linux kernel to run with this emulated platform.
 * Goldfish executes ARM926T instructions and has hooks for input and output -- such as reading key presses from or displaying video output in the emulator. There is a "goldfish" configuration file for compiling the Linux kernel to run with this emulated platform.


 * Google : A large web search company, and primary developer of Android

I

 * init : the first user-space program run in the Android system. It is not a standard Linux-style 'init' program (which processes an /etc/inittab file).  Rather, it processes a script called init.rc in the root directory of the file system.
 * Intent : A facility to send messages between different Android components.  A message is conveyed using an Intent object, which is a data structure holding a description of an operation to be performed, or of something that has happened and is being announced.

J

 * Java : Java is a programming language originally developed by Sun, and used to develop Android applications.
 * It is important to note that while the Java language is used for Android applications, the Java bytecode and Java virtual machine are not. for more information, see the entry for Dalvik.
 * It is important to note that while the Java language is used for Android applications, the Java bytecode and Java virtual machine are not. for more information, see the entry for Dalvik.


 * JDK : Java Development Kit
 * JNI : Java Native Interface (wikipedia entry) is a programming framework that allows Java code to call or be called by "native" code (that is, code compiled in another language such as C, C++ or assembly).

L

 * Linux : An open source operating system kernel, developed originally by Linus Torvalds, but over time by many thousands of developers worldwide.
 * Live-android : A project to create an Android live-CD, for running Android on generic x86 platforms.
 * logcat: A command to view messages in one of the system logs. See Android logger

M

 * manifest file: See AndroidManifest.xml
 * mahimahi: The machine name used in the kernel for the development board used for the Nexus One product.
 * MSM : Mobile Station Modem. Chipset manufactured by Qualcomm. Can for instance be found in cell phones containing the Snapdragon chipsets (HTC Desire/Nexus One).

N

 * NDK : Native Development Kit. A set of tools, build files and instructions to generate native code (usually libraries) to be used with Android systems.  Native libraries are most often used as part of JNI (to allow Java code to call C code, or vice versa).

O

 * OpenGL ES : 3D graphics system and API for Android applications

R

 * repo : Android repository manager. This is a wrapper program (written in Python) over the git tool, for managing the multiple git repositories that make up the entire Android code base. See http://source.android.com/download/using-repo
 * rild : Radio-Interface-Link daemon. This is the daemon which handles communication between the rest of the Android system and the "radio interface" (otherwise known as the phone portion of an Android-based mobile phone system).  In the simulator, since the phone hardware is not present, there is a program which runs to simulate the radio interface.

S

 * Saphire
 * SGL : 2D graphics layer for Android applications
 * SQLite : A powerful and lightweight relational database engine used by the Android system components, and available to all Android applications.

T

 * TARGET_PRODUCT : An environment variable used by the build system to indicate the product that the software should be built for. This and other TARGET_* variables are set using the choosecombo function in build/envsetup.sh. If not set, the TARGET_* variables will use defaults when you run the 'm' alias, after source-ing build/envsetup.sh into your shell environment.  Otherwise, use the choosecombo function to set them.
 * ex: $ cd mydroid ; source build/envsetup.sh ; choosecombo
 * The options for TARGET_PRODUCT depend on entries in the AndroidProducts.mk files under build/target/products and vendor/*/*/AndroidProducts.mk in your repository.
 * The options for TARGET_PRODUCT depend on entries in the AndroidProducts.mk files under build/target/products and vendor/*/*/AndroidProducts.mk in your repository.
 * The options for TARGET_PRODUCT depend on entries in the AndroidProducts.mk files under build/target/products and vendor/*/*/AndroidProducts.mk in your repository.


 * toolbox : The name of a multi-function program in the Android system. This program contains code for the single program toolbox to act like several different programs and utilities.  Normally 'toolbox' is stored in /system/bin, and is symlinked to other names.  It uses argv[0] to determine which program to behave like, when run.  It is very similar in this regard to 'busybox', which another multi-function program used in many other embedded Linux systems.
 * Trout : ARM linux kernel machine ID for the HTC Dream hardware (used in the t-Mobile G1 and the ADP1)
 * See http://www.arm.linux.org.uk/developer/machines/list.php?id=1440
 * See http://www.arm.linux.org.uk/developer/machines/list.php?id=1440

V

 * vold : volume daemon - a process on an android system responsible for managing mounting and unmounting file system (volumes)

W

 * wakelocks : A kernel mechanism for Android power management. When a thread holds a wakelock, the kernel will refrain from entering a low-power state.

Back to Android Portal

Z

 * zygote : The first Dalvik virtual machine instance. All other java applications that are started in the system are spawned from zygote.