Android Debug Bridge, a versatile tool lets you manage the state of an emulator instance or Android-powered device

Android Development Kit, what people use to develop anything for the droid such as ROM's

.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 .apk extension. For example: myExampleAppname.apk. For convenience, an application package file is often referred to as an ".apk"

Android Open System Project, usually you will see this term when referring to a program or ROM. This will mean that the program or ROM was taken from Google & does not contain any modifications done by the phone manufacturer or the phone service provider. This is Android the way Google intended

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

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)

move applications from the internal NAND memory on the device to a removable SD Card

Active Matrix Organic Light Emitting Diode. Basically, a very colorful, bright, display found in some smartphones

a single screen in an application, with supporting Java code, derived from the Activity class. 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


in communications and signal processing, the baseband describes signals and systems whose range of the frequencies measured from close to 0 hertz to a cut-off frequency, a maximum bandwidth or highest signal frequency; it is sometimes used to describe frequencies starting close to zero

Bloatware is all of the extra software applications that come pre-installed on your Android – it can include any kind of application. It slows down phone performance, takes up memory space that can be used for things you actually want and it can potentially telegraph information to the app developer or phone company. You cannot remove them unless the device has been rooted. Usually, these are apps are sponsored by a company and included by a carrier for profit

state in which the droid can be flashed from RSD with an appropriate .sdk file that reprograms the phone into a specific ROM or update. This is typically a last resort when the recovery screen cannot be reached to make a much simpler and less risky solution. An internal mode on a phone that helps in the flashing of ROMs and other behind-the scenes actions

simply means something is preventing the phone from completing it's boot cycle and is stuck between the boot animation and the unlock screen, creating a looped animation. This is often fixed by either reloading a Nandroid, or Reflashing a rom from the BootLoader

Brick or Bricked
jargon for a unrecoverable device, a device that no longer functions, generally caused by a failed firmware or SPL update. Since the device no longer works as intended, it is often referred to as a "brick" or "paper-weight", since that is all it is good for

Bug or Software Bug
an Error or flaw in software that produces a failure or unexpected/unwanted result. Typically created from incorrect code, this is why some ROMs are better and smoother running than others because certain developers have taken the time to input "perfect" code

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

BusyBox is a single multicall binary that packages the functionality of most widely used standard Unix tools, BusyBox provides a fairly complete environment for any small or embedded system

is a list of the jars/apk from which classes can be loaded, in addition to the main apk/jar that is loaded. Normally Android has 5 jar files in it’s base bootclasspath – core.jar, ext.jar, framework.jar, android.policy.jar and services.jar. However, some apk files have more dependencies on additional jar or apks files. Google maps for example needs To check your bootclasspath you can type: ‘adb shell set’


ClockworkMod (CWM)
a recovery program that is often used to apply updates, ROMs, or create a back up or restore a backup file

COMPCACHE (compressed caching)
is, in short, virtual swap, setting aside a certain percentage (usually 25%) of your RAM as 'compressed' swap. Compcache compresses the data that would normally go to swap, then moves it back into RAM, and reverses the process when moving it out of the 'compressed' swap. However, this is a classic space-time tradeoff. You effectively get more RAM from the compression, but it is slower than 'normal' RAM due to the CPU time required to compress and decompress the swapped pages

code division multiple access (CDMA) is a channel access method used by various radio communication technologies. It should not be confused with the mobile phone standards called cdmaOne and CDMA2000 (which are often referred to as simply CDMA), which use CDMA as an underlying channel access method

a drawing surface that handles compositing of the actual bits against a Bitmap or Surface object. It has methods for standard computer drawing of bitmaps, lines, circles, rectangles, text, and so on, and is bound to a Bitmap or Surface. Canvas is the simplest, easiest way to draw 2D objects on the screen. However, it does not support hardware acceleration, as OpenGL ES does. The base class is Canvas

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 the ContentProvider class, which handles content query strings of a specific format to return data in a specific format. See Content Providers topic for more information


the Android platform's virtual machine. The Dalvik VM is an interpreter-only virtual machine that executes files in the Dalvik Executable (.dex) format, a format that is optimized for efficient storage and memory-mappable execution. The virtual machine is register-based, and it can run classes compiled by a Java language compiler that have been transformed into its native format using the included "dx" tool. The VM runs on top of Posix-compliant operating systems, which it relies on for underlying functionality (such as threading and low level memory management). The Dalvik core class library is intended to provide a familiar development base for those used to programming with Java Standard Edition, but it is geared specifically to the needs of a small mobile device

Dalvik Cache
a program cache area for the program Dalvik. Dalvik is a java based virtual machine that is the basis for running your programs (the ones that have the .apk extension). In order to make access times faster (because there's not JIT (just in time) compiler installed by default), the Dalvik-cache is the result of Dalvik doing a optimization of the running program. It's similar to the prefetch files in Windows

Apk files have respective odexes that devs use to supposedly save space. Deodexing means you convert it back to a .dex file & put it back inside the apk. This allows you to easily replace files (not having to worry about odexes), but the main point was to deodex services.jar so that you can change all text to different colors (such as the clock color to white) & to deodex services.jar, you need to deodex everything

Deep Sleep
a state when the CPU is off, display dark, device is waiting for external input

Dalvik Debug Monitor Service, a GUI debugging application included with the SDK. It provides screen capture, log dump, and process examination capabilities. If you are developing in Eclipse using the ADT Plugin, DDMS is integrated into your development environment. See Using DDMS to learn more about the program

a floating window that 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 Dialog

a compiled visual resource that can be used as a background, title, or other part of the screen. A drawable is typically loaded into another UI element, for example as a background image. A drawable is not able to receive events, but does assign various other properties such as "state" and scheduling, to enable subclasses such as animation objects or image libraries. Many drawable objects are loaded from drawable resource files — xml or bitmap files that describe the image. Drawable resources are compiled into subclasses of For more information about drawables and other resources, see Resources

Dynamic Living Network Alliance. A method for wirelessly streaming photos and videos from your smartphone to your TV


second extended filesystem for the Linux Kernel. ext2 is still the filesystem of choice for flash-based storage media (such as SD cards, SSDs, and USB flash drives) since its lack of a journal minimizes the number of writes

Third extended journaling filesystem is a journaled file system that is commonly used by the Linux Kernel. It is the default file system for many popular Linux distributions

Fourth extended journaling filesystem is a journaling file system developed as the successor to ext3

(these are just a Linux file systems, similar to the FAT32/NTFS in Windows. EXT4 is supposedly faster and can handle larger file sizes. A lot of ROMs still use EXT3, but the ROMs that support EXT4 will offer an additional download which will wipe and format the phone's file systems to EXT4)

stands for "End of Life." Means a carrier or manufacturer is phasing out a particular product. It does not necessarily mean that phone or tablet is bad, nor will anyone come and take your EOL'd device away from you


programs stored in the ROM, EPROM, or flash memory that usually control various internal electronic devices (Hard Drives, Keyboards, Displays, etc). Firmware is typically 'fixed' software that is not updated in consumer devices, however it is often updated (or 'flashed') by advanced users to fix bugs or add features to the device. Flashing firmware designed for one device onto a different device, or not following a specific procedure while flashing will often render the device unusable

Rewrite the software/firmware on your phone using a computer to "flash" or completely rewrite the memory (ROM) of your phone. This is done using Odin or CWM

Flash Memory
a program technology that can be electrically erased and reprogrammed

Protocol used to update the flash file system in Android devices from a host over USB. It allows flashing of unsigned partition images

File system
there are many. It’s basically a specific way of organizing data on a partition. FAT(32) is generally windows, ext2 is generally linux. This is not a hard and fast rule

short for "force close," meaning an app that has crashed


the Governor controls how the Kernel sets the CPU speed, dependant on usage. A CPU governor in Android (and other *Nix OSes) controls how the CPU raises and lowers its frequency in response to the demands the user is placing on their device. Governors are especially important in smartphones and tablets because they have a large impact on the apparent fluidity of the interface and the Battery Life of the device over a charge

Gorilla Glass
a scratch-resistant glass product from Corning used on a number of smartphones and tablets.

stands for Global Positioning System. Uses a constellation of satellites in space to find your location on the ground

When your phone finds your location via GPS and attaches coordinates to pictures you're taking. Can be a privacy/security concern


Hack (Hacking)
Modifying the Android system to add customization, features, or bypass carrier and manufacturer restrictions

Hard reset
the act of resetting your phone to its "factory" state. Erases all user data, logins and passwords. May or may not erase what's on the internal storage or microSD card, too

is a cross-platform open-source tool suite used to flash ROMs onto Samsung Galaxy S devices


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 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

the International Mobile Equipment Identity is a number unique to every GSM, WCDMA, and iDEN mobile device, as well as some satellite devices. The IMEI number is used by the GSM network to identify valid devices and therefore can be used to stop a stolen device from accessing the network. For example, if a mobile device is stolen, the owner can call their network provider and instruct them to "ban" the device using its IMEI number. This renders the device useless, whether or not the device's SIM is changed. The IMEI can be displayed by dialing *#06#.


a USB Jig is a device that plugs into the micro USB port on your device to force it into Download Mode. It is for when you've bricked your phone and can't otherwise get it into download mode

the Just-in-Time Compiler. Released with Android 2.2, it's a method of greatly speeding up apps in Android on the software side


The governor of the CPU usage and Battery output, one can upload certain Kernels to achieve greater performance speed of their device at the cost of some Battery Life. The main component of Android operating system. It is a bridge between applications & the actual data processing done at the hardware level. The Kernel's responsibilities include managing the system's resources (the communication between hardware & software components)
Usually as a basic component of an operating system, a Kernel can provide the lowest-level abstraction layer for the resources (especially processors & I/O devices) that application software must control to perform its function. It typically makes these facilities available to application processes through inter-process communication mechanisms & system calls. Operating system tasks are done differently by different kernels, depending on their design & implementation


collectively, the part of the Android user interface on home screens that lets you launch apps, make phone calls, etc. Is built in to Android, or can be purchased in the Android Market

a debugging tool built into Android devices that displays system logs as they occur

Layout Resource
an XML file that describes the layout of an Activity screen

Live wallpapers
animated wallpapers introduced in Android 2.1

an open source variant of Unix that is used as the underlying system on Android devices


Manifest File
an XML file that each application must define, to describe the application's package name, version, components (activities, intent filters, services), imported libraries, and describes the various activities, and so on. See The AndroidManifest.xml File for complete information


Near-field communication. Short-range communication between your phone and something else -- another phone, a cash register, etc. Used by some credit cards as a method of quick payment

Nine-patch / 9-patch / Ninepatch image
a resizeable bitmap resource that can be used for backgrounds or other images on the device. See Nine-Patch Stretchable Image for more information

Nandroid or Nandroid Backup
a file typically created in the custom recovery program, such as SPRecovery, that is a carbon copy of whatever state your phone is in before a drastic change is made. the file then can be moved onto or off of the SD card for later use in case something should go wrong in the ROM or Update, or a Boot Loop occurs


stands for Original Equipment Manufacturer. Usually a company that produces a component or entire device for another company

an open source 3D graphics library used in many devices, including Android devices. Android provides OpenGL ES libraries that you can use for fast, complex 3D images. It is harder to use than a Canvas object, but better for 3D objects. The android.opengl and javax.microedition.khronos.opengles packages expose OpenGL ES functionality

open-source refers to software with publicly available source code. In the context of Android, Open-source refers to the approach to the design, development, and distribution of software. This offers accessibility to a software's source code for modification, improvement, bug-fixing, and security-enhancemen

the act of moving data to your phone (downloading, really) without having to plug it in. Over-the-Air is method used to update your phone through an application or program. Its options differ based on what the author or company enables you to install. On stock ROM this option is used to update your firmware and that`s basically it. Whole lot of different world if we`re talking about custom thing. For example AllianceOTA enables you installation of roms, kernels, themes, mods..., uninstallation of bloatware... etc.

speeding up the CPU past the factory presets to achieve a faster and more responsive device (prolonged run can be injurious to your device, so be careful)


just like the partitions that separate cubicles in an office, a partition separates parts of a drive

a subpixel layout scheme, patented by Samsung, that allows greater luminance at a lower power draw. RGBG Pentile uses alternating green pixels and has more definition than RGBW, which adds a white subpixel. There's a lot of contreversy surrounding PenTile displays, so look at each screen type and decide for yourself which is acceptable

Stands for Personal Identification Number. Often four digits

The Preferred Roaming List, basically a way of telling your phone which towers to connect to first


QR code
a black-and-white barcode that, when scanned by your phone, can open a web link, point to an application in the Market, etc.


Read Only Memory, a program used to make changes to anything from the look of the home screen to icons and custom boot animations...

Common word associated with giving a user "super user" access to their phones programming and other various aspects that would normally not be possible

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

the cellular radio on the device which needs control software called firmware to control it


SD card (or microSD card)
a small plastic "card" that expands the available storage memory on your phone. Used by applications to store data, and you can store ringtones, pictures, etc., on it

Soft reset
the act of rebooting your phone, whether intentionally or otherwise. Same effect as when you remove and replace the battery

the scheduler controls what percentage CPU is given to each running task. There are 2 Android/Linux schedulers, CFS (Completely Fair Scheduler) & BFS (Brain **** Scheduler). CFS ensures that all running tasks/apps will be given an equalish amount of the CPUs processing power, perfect for multi-tasking. BFS means the app running in the foreground receives the lion share of CPU. BFS is ideal for people who use their phone for gaming

scripts are text files that contain a list of commands to perform. Instead of typing each command out multiple times, a script can be run that will initiate all steps listed in the script

Shell or SSH
(also heard as terminal, bash, command line) This is a loose definition, but it’s basically a command line to run specific actions against the OS
The shell is the layer of programming that understands & executes the commands a user enters. In some systems, the shell is called a command interpreter. A shell usually implies an interface with a command syntax (think of the DOS operating system & its "C:>" prompts & user commands such as "dir" & "edit"). Secure shell or ssh is a network protocol that allows data to be exchanged using a secure channel between two networked devices

SPR or SPRecovery
A recovery program that is often used to apply updates, ROMs, or create a back up or restore a backup file

an embedded relational database management system contained in a relatively small (~275 kB) C programming library. It is multitasking concerning reads. Writes can be done only one-at-a-time. It is a popular choice for local/client storage on web browsers. It has many bindings to programming languages. It is arguably the most widely used database engine, as it is used today by several widespread browsers, operating systems, embedded systems among others

"Super user", or root permissions

simply means an unaltered state, such as when you first purchase your phone

is, in short, virtual RAM. With swap, a small portion of the hard drive is set aside and used like RAM. The computer will attempt to keep as much information as possible in RAM until the RAM is full. At that point, the computer will begin moving inactive blocks of memory (called pages) to the hard disk, freeing up RAM for active processes. If one of the pages on the hard disk needs to be accessed again, it will be moved back into RAM, and a different inactive page in RAM will be moved onto the hard disk ('swapped'). The trade off is disks and SD cards are considerably slower than physical RAM, so when something needs to be swapped, there is a noticeable performance hit.
Unlike traditional swap, Android's Memory Manager kills inactive processes to free up memory. Android signals to the process, then the process will usually write out a small bit of specific information about its state (for example, Google Maps may write out the map view coordinates; Browser might write the URL of the page being viewed) and then the process exits. When you next access that application, it is restarted: the application is loaded from storage, and retrieves the state information that it saved when it last closed. In some applications, this makes it seem as if the application never closed at all. This is not much different from traditional swap, except that Android apps are specially programed to write out very specific information, making Android's Memory Manager more efficient that swap

an object of class Service that runs in the background (without any UI presence) to perform various persistent actions, such as playing music or monitoring network activity

an object of type Surface representing a block of memory that gets composited to the screen. A Surface holds a Canvas object for drawing, and provides various helper methods to draw layers and resize the surface. You should not use this class directly; use SurfaceView instead

A View object that wraps a Surface for drawing, and exposes methods to specify its size and format dynamically. A SurfaceView provides a way to draw independently of the UI thread for resource-intensive operations (such as games or camera previews), but it uses extra memory as a result. SurfaceView supports both Canvas and OpenGL ES graphics. The base class is SurfaceView

the act of installing an app outside of the Android Market

a generation ahead of AMOLED displays. Lighter, more power-efficient and less reflective than AMOLED. (See AMOLED)

Super AMOLED Plus
take an AMOLED screen. Instead of eight subpixels per pixel, there are 12. Pretty awesome, actually


a set of icons, backgrounds and app trays that change the ascthetics of the overall look of the droid and its applications

refers to a network Tunnel, operates within layer 3 packets, or ip packets. Packets sent by a system via a TUN/TAP device are delivered to a user-space program that attaches itself to the device. A user space program may also pass packets into a TUN/TAP device. In this case TUN/TAP device delivers (or "injects") these packets to the operating system's network stack thus emulating their reception from an external source

using a wireless device (e.g. an Android phone) to share it's wireless data connection to another device (e.g. laptop). With an Android device, the wireless data connection can usually be shared via WiFi, Bluetooth or USB connection

similar to a zip file, a tar file archives multiple files into one file, commonly used with Odin

Samsung's custom user interface. Born from Windows Mobile and made much better with the Galaxy S line


Underclocking (UC)
slowing down the CPU mainly to limit battery usage

Undervolting (UV)
basically keeping the clock speed same (or overclocking it) & reduce the voltage at each cpu cycle

most GSM devices are locked to only work with the sim cards of a particular carrier. Obtaining root access on the device usually does nothing to the sim-lock. The usual way to unlock the device to all SIM cards is to obtain a subsidy unlock code from a carrier.

stands for Universal Serial Bus. Is a method of connecting devices to a computer. Most smartphones now use microUSB cables to charge and sync

URIs in Android
Android uses URI 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


a clean, unmodified version of something. In the context of Android ROMs, vanilla refers to the stock ROM that came pre-installed on the device

an object that draws to a rectangular area on the screen and handles click, keystroke, and other interaction events. A View is a base class for most layout components of an Activity or Dialog screen (text boxes, windows, and so on). It receives calls from its parent object (see viewgroup, below)to draw itself, and informs its parent object about where and how big it would like to be (which may or may not be respected by the parent). For more information, see View

a container object that groups a set of child Views. The viewgroup is responsible for deciding where child views are positioned and how large they can be, as well as for calling each to draw itself when appropriate. Some viewgroups are invisible and are for layout only, while others have an intrinsic UI (for instance, a scrolling list box). Viewgroups are all in the widget package, but extend ViewGroup


an application that lives (in other words, is always running) on the homescreen instead of being 'run' like a regular app. Common examples are calenders and weather widgets

to completely erase a device

in an Android application, an object derived from the abstract class Window that specifies the elements of a generic window, such as the look and feel (title bar text, location and content of menus, and so on). Dialog and Activity use an implementation of this class to render a window. You do not need to implement this class or use windows in your application


a recovery program based on the ClockworkMod Recovery sources used to apply updates, ROMs, or create a back up or restore a backup file


reduces the amount of RAM consumed when running the application by allowing data to be mmap'd in; which causes all uncompressed data within the .apk, such as images or raw files, to be aligned on 4-byte boundaries

collected and edited by arawn
Jul 21, 2012
comnam90 and Robbie Hood like this.