Android FAQ

From Android Wiki

Revision as of 17:22, 15 October 2014 by Brandorr (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, searcha

If you ask a question on IRC, and get an answer, feel free to add it and the answer to the Unsorted section of the FAQ. If not you may get lucky by adding it to the unanswered questions section below.



Q: What is the target audience of this FAQ?

A: Well considering that most of these questions were asked on, I would say visitors to #android. However, it's really for anyone who has serious technical interest in the Android platform.

Q: Who maintains this FAQ?

A: Brandorr (Brian Gupta) initially wrote the FAQ, but many people have helped. Feel free to contact Brandorr with any suggestions, and any questions that should be added.

Q: How do I get my questions about Android answered?

A: There is a list of mailing lists here: Also you can try IRC ( Also the xda-developers mailing list has a lot of Android discussion.

Q: What Android related IRC Channels are there?

A: #android, #android-dev and #android-root (All on Also Jay Freeman (saurik) is hosting: and last but not least is #android-downloads (our channel, kinda small and empty, but still there)

  • Freenode:
    • #android - Official Android-platform channel (IE: OS discussion)
    • #android-dev - Official channel to discuss app development
    • #android-firehose - Live stream of all commits to the Android Open Source Project
    • #android-root - Rooting, custom ROMs, etc
    • #android-offtopic - Fans of Android can hang out
    • #androidnyc - New York City Android channel
    • #nookcolor - Unofficial channel for Nook Color hacking
    • #cyanogenmod - Forum to discus leading custom ROM

Q: What is infobot?

A: An IRC bot that collects a lot of "interesting", and occasionally (rarely) useful information. Be aware, infobot sits on many IRC channels... and logs: (Update: infobot has been banned from #android.)

Q: Is this the canonical FAQ regarding Android?

A: Absolutely not. Check the following:

Q: Can I use the Android "bugdroid" image on my site?

A: Yes, the "bugdroid" is licensed under the creative commons, although the font used in the Android logo is trademarked and off limits. (not the font on the G1, the futuristic font used to create the word "Android" on many of the logos. Here is a freely reusable sample image: (with transparent background)

Q: Is there an Android development roadmap?

A: Yes. You can find it here:

Q: Where can I report bugs?


Q: Why does Android use the a GPL Linux kernel, but libraries and user space apps that are licensed more liberal open source/free software licenses?

A: To put it simply - the Linux kernel has wide hardware and industry support, and keeping GPL code in the kernel as much as possible makes a pretty clear line between GPLed stuff and unencumbered stuff, but vendors are somewhat scared of the GPL, so it is avoided as much as possible outside the kernel. It seems that currently bluez is about the only userspace code in android which is GPLed. Official reasons for why to use a Linux kernel from a Google IO preso:

  • Great memory and process management
  • Permissions-based security model
  • Proven driver model
  • Support for shared libraries
  • Itʼs already open source!

For an unofficial explanation of why Google prefers the Apache2 license over the GPL license, please see this ArsTechnica article:

Q: Why is the VM called Dalvik?

A: Apparently the author has ancestors from Dalvik, Iceland. (Or so the story goes).

Q: What do I do if my internet (Edge/3G) stops working?

A: First, enable then disable Airplane mode. As a last resort, reboot the phone.

Android releases

Q: What is the release history of Android?

A:The following releases have been made public

  • 1.0 (branch name unknown, backnaming it Apple Pie)
  • 1.1 (branch name unknown, backnaming Banana bread)
  • 1.5 (Cupcake branch)
  • 1.6 (Donut branch)
  • 2.0 (Eclair branch)
  • 2.1 (Eclair branch)
  • 2.2 (Froyo branch)
  • 2.3 (Gingerbread branch)
  • 3.0 (Honeycomb branch)
  • 3.1 (Honeycomb branch)
  • 4.0 (Ice Cream Sandwich branch)
  • 4.1 (Jelly Bean branch)
  • 4.2 (Jelly Bean branch)
  • 4.3 (Jelly Bean branch)
  • 4.4 (KitKat branch)
  • 5.0 (Lollipop branch)

Q: What is cupcake?

A: Android 1.5. It was the first major update (and it was major) to Android that supported devices other than the G1. See the following link for more details.

  • Notable changes introduced in cupcake:
    • Applications
      • MMS
        • New features
        • Save attachments from MMS.
        • Significant bug fixes
        • Faster conversation list scrolling
      • Email
        • Significant bug fixes
        • Accounts that were marked "never check" are not auto-checked.
        • Date & time displayed using user preference (e.g. 24 hr vs. AM/PM).
        • cc: displayed in message view.
        • Relaxed POP3 parser rules so it works with non-compliant email servers.
        • Password quoting bugs in IMAP. Makes it work for users with funny chars in their password (e.g. spaces).
        • Various sources of errors in auto & manual account setup.
        • Improvements on how we report various connection errors. Makes it much easier for user to diagnose failed account setups.
        • New-mail notifications for POP3 accounts.
        • Properly recover from POP3 connection failures, so that the next connection has a chance of working properly.
        • Remove automatic accounts setup entries that were broken or not testable. Minor fixes to a few of the remaining entries. Improvements to warning dialogs used for a few special cases.
        • New accounts are now set to check every 15 minutes (instead of defaulting to "never").
        • Fixed a bug causing approximately 1 in 25 outbound messages to freeze up the IMAP connection (to a Gmail based server) when transferred to the Sent folder. This broke the entire connection so new messages could not be downloaded either.
        • Unit test framework so Email can be extended & tested more reliably.
        • Fix IMAP manually-created accounts so message delete works properly.
      • Alarm Clock
        • Significant bug fixes
        • Alert now plays audio/vibe directly, rather than through AlarmManager. AlarmClock alert starts playing audio/vibe in its IntentReceiver, rather than on activity start. These changes should prevent alarms from being blocked by modal dialogs.
      • Package Installer
        • Significant bug fixes
        • Bugs related to replacing existing applications.
      • Settings
        • New features
        • New menu option to list running processes in Settings->ManageApplications.
      • Music
        • New features
        • Music playback fades in after suspending for phone call.
        • New media search intent allows for 3rd party apps to launch or respond to media searches based on artist, album, or title.
        • Affects: Music Player, YouTube, Browser applications.
      • Browser
        • New features
          • Updated WebKit browser core, synced with Nov 2008 WebKit version.
          • Support for new, optimized JavaScript engine (SquirrelFish).
          • Copy / paste is enabled in the browser. To copy with touch, press and hold the shift key and select the text. Releasing the shift key or ending the touch drag copies the text. To copy with the trackball, press and hold the shift key, move the cursor to the selection start, click the trackball, and move the trackball to the extend the selection. Releasing the shift key, or clicking the trackball a second time, copies the text.

Find is enabled in the browser. To find text, choose it from the menu and type the text to find. Drawing has been sped up substantially by supporting partial content invalidates and partial screen invalidates. Pages with animations are 5x faster.

      • VoiceDialer
        • New features
          • VoiceDialer supports 'open app' command
      • Camera/Gallery
        • New features
          • Video recorder mode
          • Share intent for videos
          • Video thumbnails
          • Local file playback
    • Download manager
      • New features
        • Support for HTTP codes 301, 302, 303 and 307 (redirects).
        • HTTP code 503 is now handled, with support for retry-after in delay-seconds.
        • Downloads that were cleanly interrupted are now resumed instead of failing.
        • Applications can now pause their downloads.
        • Retry delays are now randomized.
        • Connectivity is now checked on all interfaces.
        • Downloads with invalid characters in file name can now be saved.
    • Framework
      • New features
        • Support of touch events in WebView.
        • New JavaScript engine (SquirrelFish) in WebView.
        • Input method framework, for soft keyboards and other on-screen input methods. Includes new APIs for applications to interact with input methods, and the ability for third party developers to write their own input methods.
        • Access to the raw audio data for playback and recording from application code.
        • New PendingIntent.FLAG_UPDATE_CURRENT option.
        • Support for top-level boolean resources.
        • Tactile feedback to the LockPatternView. Tactile feedback can be enabled/disabled by going to Settings > Security & location and then checking/unchecking "Use tactile feedback". Note that this can be used independently of the visual feedback of the lines ("Use visible pattern"). Thus it gives users a middle ground between showing the lines on the screen and having no feedback at all.
        • PackageManager changes to support un-installation of partially installed applications. Added new flag PackageManager.GET_UNINSTALLED_PACKAGES to include partially installed apps in all relevant PackageManager api's. ManageApplications screen now lists such partially installed apps and the user can uninstall these applications completely.
        • Support third party updates of system applications. New menu options in Settings->ManageApplications to list updated system applications.
        • Framework support to list current running processes. New API in ActivityManager.
        • Framework feature to declare required configurations by applications. New manifest attribute uses-configuration in android manifest.
        • Hardware accelerated video encode (video recorder) in opencore.
        • Simplified SREC speech recognition API available.
        • Streaming audio I/O for applications.
      • Significant bug fixes
        • Fixed issues with saving state in the view hierarchy, so that you can properly subclass from something like TextView and create your own state that inherits from that provided by TextView.
        • TextView now implements onKeyMultiple(), so that flinging the trackball will result in accelerated scrolling. This required some changes to movement methods, and included some improvements to the acceleration computed when flinging.
        • Framework bug fixes in PackageManager to share/un-share permissions for applications with shared uid's.
        • Significant rework of Settings->ManageApplications Performance and UI enhancements.
        • A number of settings in android.provider.Settings.System were moved to android.provider.Settings.Secure. Only system software can modify these settings. Additionally, a new permission, WRITE_SECURE_SETTINGS, is required to access these settings. The old constants in Settings.System have been deprecated. It is possible to read settings values via **** Settings.System using the deprecated constants. However, attempts to modify these settings via Settings.System will result in a log message and the setting value will be left unchanged.
        • Many bug fixes in the media framework
    • Bluetooth
      • New features
        • Support for A2DP & AVRCP profiles.
      • Significant bug fixes
        • First connection after pairing always fails on many carkits.
        • Mini Cooper and some late model BMW cars fail to use Bluetooth or take 2 minutes for Phone Book transfer.
    • System software
      • New features
        • New kernel based on Linux 2.6.27.
        • Improvements to the wakelock API.
        • Work to transition to the USB Gadget Framework underway.
        • Basic x86 support.
    • Radio & Telephony
      • New features
        • SIM Application Toolkit 1.0.
        • Green CALL button is no longer a shortcut for "add a new call". This has been a rarely used feature and confusing if triggered accidentally.
        • Longer in-call screen timeout when using the speakerphone.
        • "Show dialpad" / "Hide dialpad" item added to the in-call menu, to make it easier to discover the DTMF dialpad.
      • Significant bug fixes
        • An obscure case where the Phone UI could cause the device to not go to sleep on its own. This would happen if user bails out of the in-call screen by hitting HOME, followed by the call disconnecting remotely.

Don't allow a single tap to open the in-call dialpad. It is now required to touch and drag it. This makes it much harder to accidentally open the dialpad by touching the screen with your face.

    • Developer Tools
      • New features
        • Enable handset manufacturers to extend the Android SDK with add-ons. SDK add-ons will include:
        • system libraries to let developers use additional APIs provided by handset manufacturers or from other 3rd party vendors that handset manufacturers chose to include
        • emulator system images, skins, and hardware configuration to let developers test their applications on their Android implementation
    • Build System
      • New features
        • The functions in build/ should be much more useful

Q: What is donut?

A: Donut is the Android development branch following cupcake. (released as Android 1.6) It adds the following features:

  • Built in Google Translate
  • Text to speech
  • gestures/handwriting recognition
  • local search integrated with web search

Q: What is eclair?

A: Android 2.0/2.1 which introduced the following features:

  • Account manager API
  • Sync adapter API
  • Quick contact
  • Unified inbox with support for
    • multiple Google/Gmail accounts
    • Microsoft Exchange/Activesync accounts
    • Facebook
  • New Bluetooth API
  • HTML5 compatible browser
  • Overhauled camera app
  • Improved accuracy and usability of onscreen keyboard
  • Additional screen resolutions and sizes
  • Updated UI
  • New Gallery app
  • Live wallpapers
  • New News/weather widget

Q: What is froyo?

A: Android 2.2:!w+jjdyOTIpA

  • JIT (Just in Time) Compiler
    • 2 to 2.5 times faster due to JIT compiler.
  • Enterprise
    • Microsoft Exchange friendly!
    • New APIs for device management - remote wipe, etc.
  • browser enhancements
    • 2-3 x performance improvement (Chrome JS engine) "World's Fastest Mobile Browser"
  • Application data backup API, in addition to the installed applications backup
  • Cloud to phone API (Send intents from PC browser to phone)
  • Android Market improvements
    • Improved search
      • (Quick search)
      • Search from within app data
      • Official Apps on SD card support
      • "Update all apps"
      • Optional auto-update of all apps
      • Crash reporting API
  • Macromedia/Adobe Flash 10.1 support
  • Internet connection sharing
    • Tethering to a single PC over USB or Bluetooth
    • Mobile WiFi hotspot/router
  • Separation of core OS and Google apps

Q: What is gingerbread?

A: Released as Android 2.3. Details provided by Google on December 6th, 2010: Update: See for more enhancements

  • New user features
    • UI refinements for simplicity and speed
    • Faster, more intuitive text input
    • One-touch word selection and copy/paste
    • Improved power management
    • Control over applications
    • New ways of communicating, organizing
      • Internet calling
      • Near-field communications
      • Downloads management
  • New Developer Features
    • Enhancements for gaming
      • Performance: Android 2.3 includes a variety of improvements across the system that make common operations faster and more efficient for all applications. Of particular interest to game developers are:
        • Concurrent garbage collector — The Dalivik VM introduces a new, concurrent garbage collector that minimizes application pauses, helping to ensure smoother animation and increased responsiveness in games and similar applications.
        • Faster event distribution — The plaform now handles touch and keyboard events faster and more efficiently, minimizing CPU utilization during event distribution. The changes improve responsiveness for all applications, but especially benefit games that use touch events in combination with 3D graphics or other CPU-intensive operations.
        • Updated video drivers — The platform uses updated third-party video drivers that improve the efficiency of OpenGL ES operations, for faster overall 3D graphics performance.
        • Native input and sensor events: Applications that use native code can now receive and process input and sensor events directly in their native code, which dramatically improves efficiency and responsiveness.
        • Native libraries exposed by the platform let applications handle the same types of input events as those available through the framework. Applications can receive events from all supported sensor types and can enable/disable specific sensors and manage event delivery rate and queueing.
        • Gyroscope and other new sensors, for improved 3D motion processing- Android 2.3 adds API support for several new sensor types, including gyroscope, rotation vector, linear acceleration, gravity, and barometer sensors. Applications can use the new sensors in combination with any other sensors available on the device, to track three-dimensional device motion and orientation change with high precision and accuracy. For example, a game application could use readings from a gyroscope and accelerometer on the device to recognize complex user gestures and motions, such as tilt, spin, thrust, and slice.
        • Open API for native audio - The platform provides a software implementation of Khronos OpenSL ES, a standard API that gives applications access to powerful audio controls and effects from native code. Applications can use the API to manage audio devices and control audio input, output, and processing directly from native code
        • Native graphics management - The platform provides an interface to its Khronos EGL library, which lets applications manage graphics contexts and create and manage OpenGL ES textures and surfaces from native code.
        • Native access to Activity lifecycle, window management - Native applications can declare a new type of Activity class, NativeActivity whose lifecycle callbacks are implemented directly in native code. The NativeActivity and its underlying native code run in the system just as do other Activities — they run in the application's system process and execute on the application's main UI thread, and they receive the same lifecycle callbacks as do other Activities. The platform also exposes native APIs for managing windows, including the ability to lock/unlock the pixel buffer to draw directly into it. Through the API, applications can obtain a native window object associated with a framework Surface object and interact with it directly in native code.
        • Native access to assets, storage - Applications can now access a native Asset Manager API to retrieve application assets directly from native code without needing to go through JNI. If the assets are compressed, the platform does streaming decompression as the application reads the asset data. There is no longer a limit on the size of compressed .apk assets that can be read. Additionally, applications can access a native Storage Manager API to work directly with OBB files downloaded and managed by the system. Note that although platform support for OBB is available in Android 2.3, development tools for creating and managing OBB files will not be available until early 2011.
        • Robust native development environment - The Android NDK (r5 or higher) provides a complete set of tools, toolchains, and libraries for developing applications that use the rich native environment offered by the Android 2.3 platform. For more information or to download the NDK, please see the Android NDK page.
    • New forms of communication
      • Internet telephony - Developers can now add SIP-based internet telephony features to their applications. Android 2.3 includes a full SIP protocol stack and integrated call management services that let applications easily set up outgoing and incoming voice calls, without having to manage sessions, transport-level communication, or audio record or playback directly. Support for the platform's SIP and internet calling features on specific devices is determined by their manufacturers and associated carriers.
      • Near Field Communications (NFC) - The platform's support for Near Field Communications (NFC) lets developers get started creating a whole new class of applications for Android. Developers can create new applications that offer proximity-based information and services to users, organizations, merchants, and advertisers. Using the NFC API, applications can respond to NFC tags “discovered” as the user “touches” an NFC-enabled device to elements embedded in stickers, smart posters, and even other devices. When a tag of interest is collected, applications can respond to the tag, read messages from it, and then store the messages, prompting the user as needed. NFC communication relies on wireless technology in the device hardware, so support for the platform's NFC features on specific devices is determined by their manufacturers.
    • Rich multimedia
      • Mixable audio effects - A new audio effects API lets developers easily create rich audio environments by adding equalization, bass boost, headphone virtualization (widened soundstage), and reverb to audio tracks and sounds. Developers can mix multiple audio effects in a local track or apply effects globally, across multiple tracks.
      • Support for new media formats - The platform now offers built-in support for the VP8 open video compression format and the WebM open container format. The platform also adds support for AAC encoding and AMR wideband encoding (in software), so that applications can capture higher quality audio than narrowband.
      • Access to multiple cameras - The Camera API now lets developers access any cameras that are available on a device, including a front-facing camera. Applications can query the platform for the number of cameras on the device and their types and characteristics, then open the camera needed. For example, a video chat application might want to access a front-facing camera that offers lower-resolution, while a photo application might prefer a back-facing camera that offers higher-resolution.
  • New Platform Technologies
    • Media Framework
      • New media framework fully replaces OpenCore, maintaining all previous codec/container support for encoding and decoding.
      • Integrated support for the VP8 open video compression format and the WebM open container format
      • Adds AAC encoding and AMR wideband encoding
    • Linux Kernel
      • Upgraded to 2.6.35
    • Networking
      • SIP stack, configurable by device manufacturer
      • Support for Near Field Communications (NFC), configurable by device manufacturer
      • Updated BlueZ stack
    • Dalvik runtime
      • Dalvik VM:
        • Concurrent garbage collector (target sub-3ms pauses)
        • Adds further JIT (code-generation) optimizations
        • Improved code verification
        • StrictMode debugging, for identifying performance and memory issues
      • Core libraries:
        • Expanded I18N support (full worldwide encodings, more locales)
        • Faster Formatter and number formatting. For example, float formatting is 2.5x faster.
        • HTTP responses are gzipped by default. XML and JSON API response sizes may be reduced by 60% or more.
        • New collections and utilities APIs
        • Improved network APIs
        • Improved file read and write controls
        • Updated JDBC
      • Updates from upstream projects:
        • OpenSSL 1.0.0a
        • BouncyCastle 1.45
        • ICU 4.4
        • zlib 1.2.5

Q: What is honeycomb?

A: Will be released as Android 3.0 and 3.1 This release is targeted strictly at tablet devices. For highlights of this version see [1] and [2]

Q: What is ice cream sandwich?

A: 4.0. Expected release Q4 2011 Google has indicated that this release will bring features introduced in Honeycomb to smartphone devices. Features such as the updated "holographic" UI, widget size editing, and improved multitasking where mentioned at Google IO. In addition Google has indicated that ice cream sandwich will be a unified platform that runs on both tablets as well as smartphones.

Q: What is jelly bean?

A: 4.1/4.2/4.3 Released

Q: What is KitKat?

A: 4.4 Released

Q: What is lollipop?

A: 5.0 Announced Oct 15, 2014

Google TV

Q: What is Google TV?

A: Google TV is a family of HDTV consumer video devices that enable convergence between tradition live broadcast digital video, internet video, local media files, some DVR support, and a relatively full featured internet browsing experience. One way this convergence is manifested is as a unified search feature, that allows searching across live TV, internet video, the internet in general, and if supported DVR recordings. In addition all currently shipping Google TV devices allow a single remote, to control all these video sources. In addition Google TV can run specially developed applications. Currently applications are shipped with the devices, but in the future one will be able to install third party applications from the internet. Google TV devices sit either between the primary digital video source (cable, or satellite) and the television set, or are built into the television set itself.

Google TV may also refer to the software stack, maintained by Google, that powers these devices.

Q: How is Google TV related to Android?

A: The software that Google TV runs is a version of Android that has been enhanced to support video search, HDTV signaling, and a full Google Chrome browser. It current'y doesn't support certain Android features like installing third party apps.

Q: Where can I get more information on Google TV?

A: Google's official sites:


Q: What Google TV devices are available?

A: Logitech currently ships the "Revue with Google TV" a "Set-top box", that enables basic Google TV functionality for legacy HDTV televisions. Sony ships a line of HDTV "Internet Televisions" (NSX-24GT1, NSX-32GT1, NSX-40GT1, NSX-46GT1) that have Google TV built in, in addition Sony also ships a Google TV HDTV device that is combined with a optical disc/BlueRay player (NSZ-GT1). See: and for more information.

Q: What file formats/codecs does Google TV support?


  • Supported video file formats:MP4
  • Supported music file formats:MP3/AAC
  • Supported photo file formats:JPEG/PNG/GIF

Q: What USB accessories does Google TV support?


  • USB keyboards
  • USB Mice
  • USB storage, including flash and hard drive
  • Certain video cameras

Q: What Bluetooth accessories does Google TV support?

A: Bluetooth input devices. e.g. Keyboard/pointer/remote control. Unfortunately there doesn't seem to be any option for headsets. (The option to support A2DP stereo headsets would be great).

Q: When using an external USB storage device, what filesystems does Google TV?

A: Currently only FAT32. EXT2/EXT4, NTFS and exFAT have been tested and did not automount. (message indicating that USB was Damaged was displayed). Currently there is no supported way to access files larger than 4GB over USB. Hopefully this will be addressed in a future update.

Q: What network sources does the build in Media Player support?

A: DLNA See;

Q: UNANSWERED: What is the latest version of Google TV?


Q: UNANSWERED: When was Google TV announced?


Q: UNANSWERED: What was the first Google TV device and when did it ship?


Q: What Applications ship with Google TV?

A: Standard:

  • Chrome Browser
  • Netflix
  • Pandora
  • Amazon VOD
  • Twitter
  • Youtube,
  • Flickr
  • Picasa
  • Napster


  • Disk player

Q: Does Google TV support the third party applications and the Android Market?

A:Third party application support will be enabled in a future software update. Today the only applications supported are those that ship with the units.

Q: Is the Google TV source code available?

A: Not yet. For more information see: Please note: That at least some of the Google TV is GPLed such that a source release is legally required. Update: It appears Sony has released some code, but we are still waiting for the source tree to be released from Google:

Q: How do I soft reset the Google TV?

A: Ctrl+Alt+Delete

Application Development

Q: Are there any videos for developers?

A: See

Q: Where can I get the SDK?


Q: Are there any books that cover Android development?

A: Yes there is currently a number of books available. Here is a link to an Amazon list:

Q: Are there any open source examples of OpenGL apps for Android?

A: Yes.

Q: Is Python available for Android?

A: Yes. Google announced (in June, 2009) the Android Scripting Environment. In the blog entry, python is stated as being supported, and they give sample code for an python application which can run on a phone.

Also, Jython lets you run Python inside the JVM. Jythonroid is a port of Jython to run inside Android's Dalvik JVM, so in theory, you could write Android applications in Python that could interact with Android's APIs.

Damon Kohler also has patches for cross-compiling Python 2.4. It will, however, run as a native application (without access to Android's APIs), so most scripts written will have limited use. Most interesting things will also require a rooted phone.

Q: How do I switch orientation in the emulator?

A: Numpad 7 will do it. CTRL + F12 will also suffice.

Q: Does Android support writing native applications?

A: The Android development team has provided developers with an NDK (native Development Kit) for those edge cases where Java apps do not make sense.

Prior to the NDK's release other methods were needed:

Q: I heard I can't sell NDK apps in the Market. Is this true?

A: No, see the following for more details:

Q: How can I control the keyboard backlight?

A: The keyboard backlight can be controlled via /sys/class/leds/keyboard-backlight/brightness It appears that it's a simple on-off control (echoing '0' turns it off, echoing '1' or higher turns it on). For some reason, the default system backlight control stuff seems to set this to "83", but I don't know why. I can't seem to see any difference between 83 and any other number. The file is readable by anyone, but only writable by root, so you'll need root access to the phone to manipulate it this way.

Q: Can I write my own widgets?

A: Yes! As of version 1.5 (Cupcake) there are now widget API's that are accessible to developers. Jeff Sharkey has written a few very nice introductory tutorials on writing widgets for the home screen here: Introducing home screen widgets and the AppWidget framework

He has also written a forecast application with the source code fully available. You can grab that here: Forecast widget for Android 1.5 (with source!)


Q: Is there a web interface to the Android market?

A: Yes, but read-only. There are three sites:

  • The official site is here: (This is rather limited)
  • Androlib is a rich view of the market, and can display all the comments for an application. Its data is delayed behind the official Market by 8-16 hours.
  • Jay Freeman (saurik) has written It's cleaner, cuts of app comments to the first 15, but is synchronized live with the official Market data.

None of the websites allow post ratings or comments that would be reflected in the Market.

Q: Developers from what countries can sell apps?

A: Currently, developers in the countries listed in the following link may register as Google Checkout merchants and sell priced applications:

Q: Why does the Market take up 14 MB on the G1?

A: Bug caching code needs cleanup. Android team is aware, and plans to fix.

Q: What countries can I distribute free apps in?

A: See:

Q: What countries can I sell my apps in?

A: See:

Q: What determines the category ("Lifestyle", "Entertainment") that an app is filed under? Does the developer get to pick?

A: The developer selects the category upon upload.

Q: Do the market and have anything in common?

A: Not at all.

Q: As a developer trying to sell or distribute apps into a region that does not yet have an official Android Market, are there any options?

A: Yes. There are a a number of options for either direct distribution or third party apps/websites. Please note for all these methods, the end user will have to enable installation of third party (non Android Market) applications.


Q: Are there any IRC clients?

A: Check out ircbeta.apk Source and downloads here:

Q: Are there any decent ssh clients?

A: ConnectBot rocks. It is available in the market. If you want to run a prerelease version or play with the source check here:

Q: Any reason K-9 is a fork instead of contributing back to the core email app?

A: Long story. Short version is, we're trying.

Q: The Adobe flash player still hasn't come out yet right?

A: Nope. It is unclear whether or not there ever will be a Flash player, but signs are promising: Demo:

Q: Is there a PDF reader for Android?

A: Yes. Check out MultiReader: Free Word viewer / PDF reader for T-Mobile G1

There is also one produced by HTC for 1.5 (Cupcake) found here: PDFViewer (working) on JF 1.5 and other builds. This particular version is a bit more involved in the installation process and requires that you install files to the system. This can be accomplished with ADB for those without root access.

Q: Is there an easy way to disable gmail checking?

A: It's in setting, see settings -> data synchronization.

Q: Is there a way to make a shortcut to disabling Gmail sync?

A: Using anycut you can make a link to the sync settings.

Q: Are there any open source Gtalk clients?

A: Yes. See:

Q: Is there a Mobipocket eBook reader for Android?

A: No. According to this offical Mobipocket forum thread, it seems there are no plans for one to be released. (Not sure it will help, but it can't hurt to add your support to the thread). Currently you can install FBReader from the Android market, as it has, among other formats, support for non-DRM mobipocket files.

Q: Is there a free screenshot app for Android?

A: No, but there is a paid app, which requires ROOT access.

Alternatively you can use Eclipse with the Android DDMS tools which contains a button to take a screen shot of the phone when it is plugged in and configured properly.



Developer Phones

Q: What is this I heard about an Android Developer Device?

A: It has been said (by infobot) that devphones is a phone with magical powers and will make all your wildest dreams come true. You can read about them here: - in order to buy one, you have to pay a $25 to be in the "developer club" and then you can get into the back room where they keep them behind a curtain of lava. very expensive to ship outside the US, or sporting this:, or ...

Q: What is the difference between the G1 and the ADP1 (Android Dev Phone 1)?

A: The differences are cosmetic, radio lock configuration, and bootloader. Cosmetic differences consist of the removal of T-Mobile branding and a new etched back design In addition the firmware that comes standard on the ADP1 is missing some of the customization Google and T-Mobile added to the G1. See the following link for details: (However, this isn't a major issue, as the ADP1 can be flashed with any firmware, including the official G1 firmware).

Q: What is the ADP2?

A: The ADP2 is a HTC Magic (PVT 32B) Qualcomm MSM7201a

Q: Why is shipping so expensive to my country for the Android Developer Phone 1?

A: Quoting from help page on ordering side: "For Orders shipping outside the US, shipping pricing includes cost of shipping service and the applicable customs, duties, import and country specific other fees."

Q: What does it cost to ship one to Canada?

A: It seems it cost about $200 (so says the "Ongoing Android Diary"). Update: $ 40.40 as of April 18, 2010.

Q: Does it come with a warranty?

A: Apparently it comes with a very skimpy warranty (think saran wrap bikini skimpy) that warrants the device is free of defects and nothing else.

Q: I was wondering if there are physical stores you can walk into and buy one of those phones?

A: Nope, sorry. You can only order it online.

Q: Will the Android Developer Phone 1 work on AT&T's network?

A: Yes, however, like the T-Mobile G1, it is not compatible with AT&T's 3G network. (You will be limited to EDGE speeds).

Q: What's this I hear about being able to turn a T-Mobile G1 into an Android Developer Phone?

A: Excluding cosmetic differences, the two differences are the radio lock and the enhanced bootloader. The radio lock can be removed with a simple request to T-Mobile. That only leaves the bootloader as the major difference. There currently is a bootloader floating in the wild, that seems to be very similar to what is expected to be running on the ADP1 (Android Dev Phone 1). The catch is you can only install this boot loader if you are one of the lucky few that has a "rooted" G1. This means that you are out of luck if you are running a stock version of RC30+. See for details.

If your phone is not rooted but above RC30 it is still possible to root your phone by downgrading to the insecure version and then re-upgrading with a patched firmware update. See: Root For RC30

Q: How do I update the ADP1/G1(rooted) spash image?

A: In short if you have the Engineering bootloader installed you can use the fastboot utility to update the boot image. See this link for detailed instructions:

Google Nexus One

Q: Where can I buy a Google Nexus One?

A: Only from Google at:

Q: What official Google endorsed Nexus One accessories exist?

A: Nexus One Desktop Dock and Nexus One Car Dock

Q: How can I get root on a Nexus One?

A: First connect to the bootloader and run "fastboot oem unlock". Or on newer firmware there actually is a menu in the bootloader, that asks if you want to unlock the bootloader. It does warn you that you will be voiding the warranty though. This will allow you to install any number of rooted firmwares.

Q: How can I access the bootloader?

A: Power on the device with the "volume down" button pressed.

Q: How can I access the recovery console?

A: Boot into the bootloader and select "Recovery." Then when the Android and exclamations logos show up, press the power and volume up buttons at the same time. (Hold power and then press Vol up)

Q: What countries does the Nexus One ship to?

A: United States, UK, Canada, Hong Kong, and Singapore. Check here for the latest info:

T-Mobile G1 (HTC Dream)

Q: Where can I buy G1 accessories?

A: Android-DLs has created its own little Amazon Store full of accessories for the G1 (and maybe other Android devices once they surface). Find the items you need and help out the site. Also Disconnect (who has helped tremendously in the hacking side of G1 has an Amazon store of his own you should check out here)

Q: What is root, and why do I want it?

A: Root could best be explained (to windows users) as the "administrator" account. For game nerds, think "God Mode", for all others, you already know what root is. Why should you get/keep root?

Q: Where can I download a copy of the G1 manual?


Q: Has anyone been able to get the G1 to do USB Host mode?

A: Short answer: No. Long answer: The chipset supports OTG so it is theoretically possible, but I'm not sure if the G1 hardware would need to be modified. Also, we have no OTG support in the USB driver, and none of the higher level code in android supports host side USB.

Q: Does the G1 have a compass in it, i thought it did.. but I couldn't figure out how to launch it?

A: Yes, it has a built in digital compass. You will need to install an application that calls compass's API in order to actually use it. Search the Market for "compass" to find these applications.

Q: I've heard that magnetic flaps on cell phone cases mess up the G1's compass. Is this True?

A: Short answer, it does cause short term issues with compass, long term is unknown. Better safe than sorry. See here for more details:

Q: What is the egl library on the G1?

A: (Currently only used by apps using opengl at the moment (since the current version doesn't do multiple context support))

Q: What processor does the G1 use?

A: The Qualcomm MSM7201A RISC Chipset, which has a ARM1136EJ-S ARM Core: (There is also a ARM926 core included). Here is a link to a technical specs doc:

Q: BTW, are other HTC's power adapters working on the G1?

A: Any USB power adapter should work.

Q: Can I get an adapter that lets me listen to the G1, while still charging it?

A: Google for: "3 in 1 USB 11 pin Adapter for HTC TOUCH MOGUL PPC6800"

Q: What is the latest version of the G1 firmware?

A: See

Q: Is the G1 supposed to fall back to 2G if 3G is not available?

A: Yes it will fall back to EDGE if 3G is not available? The current implementation seems a bit buggy, however.

Q: Not having root sucks. Any progress on a fix?

A: Yes. If you are running a G1 with rc29 or lower, you can use an exploit. See: Rooting Android. If you are running RC30 (US) or above see Root For RC30 and if you are on RC8 (UK) or above see Root for RC8

Q: Whats the price for the G1 for developers?

A: Same as for anyone else. You may want to investigate the Android Developer Phone 1 instead.

Q: Does the T-Mobile G1 support VOIP?

A: Originally not, and many thought it probably never officially would. From an interview with the CEO of T-Mobile: "When I talked to Cole Brodman, the CTO of T-Mobile, after the event about what would stop something like Skype from designing a program that could run on the phone, negating the need for a massive voice plan, he said he had "worked with Google" to make sure Android couldn't run VOIP." . But more recently Andy Rubin, Google's Vice President of Mobile Platforms made this blog post discounting a newspaper's claim that Android does not support VOIP, writing "the first generation of our Android software did not support full-featured VoIP applications due to technology limitations, we have worked through those limitations in subsequent versions of Android, and developers are now able to build and upload VoIP services.".

There are currently the following Android applications offering [true] VOIP:

  • SIPDroid, a project which allows SIP VOIP connectivity. SIPDroid
Q: How do I install an ssh daemon on the G1?

A: You want to take a look at installing dropbear. See the following links for details. - Dropbear

Q: How can I unlock my G1?

A: or call T-Mobile

Q: Is it possible to bypass the Gmail signin on G1 when activating the G1?

A: Yes. Please see the following thread for details:

Q: Are there any G1 car mounts available?

A: Yes, search the following site:

Q: Are there any extended batteries available for the G1?

A: Please not the base battery that the G1 ships with is a 1150mAH battery. Quite a selection of extended batteries are available now from (barely extended) 1200mAH to the mammoth 2600mAH (no, that is not a typo).

Q: Does G1 or Android support multitouch?

A: Yes and no. What can be achieved is in the works by ryebrye and lucashutch. As soon as something viable (and useable) is out, it will be posted here. They are currently working on adding what they have already created to maps/browser.

Q: When we press side keys for the volume, does it also make respective changes in volume for call and music? If not, how does it work?

A: Sadly the official G1 manual only states: "While receiving incoming call, press either (+) or (-) to silence the ringer." As best as I can tell, the default behavior for the volume keys is to change the ringer volume. Apparently, this can by overriden by the currently running application. e.g. - While on a call, the volume keys change the call volume. While listening to Music, the volume keys change the playback volume. While running connectbot the volume keys change the font size.

Q: Is there a list somewhere of G1 keyboard and button shortcuts?

A: Yes, check this wiki page:

Q: Is it possible to use the G1 for internet access for my PC/laptop? (IE: Is tethering supported?

A: Bluetooth/USB/WiFi are supported, but WiFi currently is only in Adhoc mode.

Q: What multimedia (audo/video) codecs does the G1 support?

A: The following codecs are supported:

Q: How do you turn off the GPS/3g network device to save battery life?

A: In the settings, accessible by pressing menu on the home screen

Q: Why doesn't G1 include the ability to record video?

A: As of 1.5 this is now a part of the Camera application and produces 3gpp video which can be directly uploaded to YouTube from the phone.

Q: What is the code name used to reference the T-Mobile G1 in the source code?

A: dream, "DREA"

HTC Magic (Vodafone)

Q: What is the HTC Magic?

A: The HTC Magic Is HTC's second Android device. It looks like it will be a Vodaphone exclusive

Q: What is the difference between the G1/Dream and the Magic?

A: The HTC Magic is basically a smaller sleeker and slimmer G1, without a physical keyboard. (Uses a virtual keyboard like the iPhone) It also has twice the ROM and a higher capacity battery.

Q: What are the specs for the Magic?

A: See: HTC's specs and details from the announcement

Q: Is the HTC Magic the same as the T-Mobile G2?

A: G1 and G2 are trademarks of T-Mobile, and they sell the HTC Dream under the name T-Mobile G1 in various countries. In other countries where T-Mobile does not operate, it is sold as the HTC Dream by other operators - Dream is both the HTC codename for the device, and the name under which is is being sold.

The Magic has been announced (as mentioned) as a Vodafone exclusive, but it is not clear if the exclusivity is time- or territory-limited. As of mid-March, 2009, there has been no announcement from T-Mobile about a G2, although there is a wide expectation that the Magic will be released as the G2 sooner or later. There have been shots of a T-Mobile branded Magic device being used in a demonstration at a conference, but there was no sign of actual G2 branding on the device.

Q: What is the code name used to reference the Magic platform in the source code?

A: sapphire, "SAPP"

Motorola Motorola Sholes (Verizon Droid Vodaphone Milestone)

Q: Can I get root on the Sholes?

A: Yes! (Currently Droid only) See:

Q: There is no pipe key on my keyboard. How am I supposed to use conenctbot? What about the other missing keys?

A: There is always the soft keyboard. However, if you are open to memorizing some key combinations, take a look at this: -- To be clear pipe '|' is SHift+Alt+',' (comma)

Q: The Google talk app that comes with the droid doesn't support AIM. What are my options?

A: AOL has an official AIM application in the Android Market. In addition there are plenty of third party IM clients that support AIM.

Q: What is the Android equivalent of Blackberry profiles?


HTC Hero (GSM)

Q: How do I get root on this device?



HTC Tattoo

Devices: Samsung Moment

Devices: Samsung Galaxy

Devices: Motorola Cliq/Dext

Devices: Sony Ericsson Experia X3

Devices: Vibo A688

Q: What is Vibo A688?

A: Check out this website:

The devices have the same hardware:

  1. Apanda A60(China):
  2. ChinaVision Excalibur
  3. Cincinnati Bell Blaze f800
  4. Commtiva Z71
  5. Gigabyte Gsmart G1305
  6. Motorola XT3 XT502:
  7. Motorola XT5 XT502:
  8. Muchtel A1(Taiwan):
  9. Nexian Journey A890(Indonesia):
  10. Optimus Boston
  11. Orange Boston
  12. Spice Mi-300:
  13. Vibo A688(Taiwan):,2c9681c62913f646012959ee62a500a0,,,.html#top
  14. Wellcom A88(Thailand):
Q: How to go in Recovery, Fastboot mode or other modes?

A: Turn your mobile off and Unplug the USB cable. Press fellowing keys to go into specific mode.

  1. Normal Mode: [Power]
  2. Recovery Mode:[Sound Up] + [Camera] + [Power]
  3. Fastboot Mode:[Hang Up] + [Sound Down] + [Power]
  4. FTM Mode:[Sound Up] + [Sound Down] + [Power]
  5. Qualconn Download Mode:[Sound Up]+[Hang Up]+[Power]
Q: How do I get root on this device?

A: For Android 1.6:

Universal one-click root(1.6 only): (Universal Root App)

For Android 2.1: Use Superboot to get root

Q: How do I get App2SD working?‎

A: A688 App2SD

Q: How to backup roms by myself?‎

A: Method 1:

Install the k0ng's custom recovery rom, and use the backup menu to backup roms.

 k0ng's custom recovery rom(for 1.6)
 k0ng's custom recovery rom(for 2.1) (repack by snowwolf725)

Method 2: Backup roms in FTM mode (for 1.6 only)

Q: How to modify boot animation and sound?‎

A: Modify A688 animation and sound

Q: How to backup/Restore NV items and PRL?

A: NV Items backup and Restore

Q: What is QPST and how to use it?

A: How to use QPST

Q: How to unpack and repack NB0 file?

A: How to unpack and repack NB0 file

Q: How to build a custom recovery image?

A: Build a custom recovery image

Q: Where I can download the tools and roms of mobile?


 A688 Tools and APP2SD roms:
 A60 roms and tools:
 A88 custom recovery rom:
Q: Where I can download the kernel source code of this mobile?


Q: How to build a custom kernel from source code?

A: Build a custom kernel

PMPs (Personal Media Players)

Devices: Archos 5 Internet Tablet

ebook readers

Alex e-reader

Q: Where can I get more info on this ereader?

A: Check out their website:

Nook e-reader

Devices: Ports

Q: What devices has Android been ported to?

A: List in progress. See the following projects for status:

Q: If I'm interested in porting Android to a new device or architecture where should I go?

A: See the Android Porting Guide

See also the android-porting mailing list:

Q: Is there an x86 port of Android?

A: Yes, see and . As a note, the Asus Eee has been mentioned as a target for the x86 port. Here is latest status:

Devices: Other

Q: Are there any other Android devices coming out?

A: Yes:

Platform Hacking and Development

Q: Is there any documentation available for the RIL (Radio Interface Layer)?

See Android Platform Development Kit - Radio Interface Layer

See also android/hardware/ril/include/telephony/ril.h for more details of RIL functions which needs to be implemented. Also you can get a reference implementation in android/hardware/ril/reference-ril/. That's probably the closest you will find to "documentation".

Q: Is all of the firmware opensourced? If not, what isn't?

A: No. Currently, the kernel is fully opensourced. However there are still some some proprietary userspace bits, which include:

  • htc RIL (radio interface) library and data files
 (this is glue between the telephony layer in android and the AT/QMI
  control channels provided via GPL kernel drivers)
  • - qualcomm/ati opengl ES library
  • - qualcomm camera library
  • akmd - software to process and adjust compass/accelerometer events
  • qualcomm h264 codec frontend (does some processing the dsp cannot do)

Q: How do I leave the bootloader?


Q: What is fastboot?

A: A reflash protocol for android devices, or source code at, or cheat sheet at To get a fastboot binary that you can run on your Mac or Linux PC, follow the directions for building Android here: (It will take you a long time to download the source and build the Android tree). Please note the binary will be installed to ./mydroid/out/host/darwin-x86/bin/fastboot

Q: What OSes does fastboot support?

A: Linux, OS X, and Windows are all supported by fastboot.

Q: What is RGB565?

A: The file format for splash screens. You probably want to create a 320x480 image. It is unsupported by any other image software, so the only way to create one is to start with a raw rgb888 file (8-bit raw, the default format in gimp or photoshop when saving as "raw image") and run it through rgb2565. Alternatively, you can save as a png and then run this script by RyeBrye on it (assumes you have working ImageMagick as well as a compiled version of rgb2565 in your path.) If you run rgb2565 with no flags, it will create an uncompressed rgb565 file which should be exactly 307200 bytes. This file can be used for replacing the initial screen you see when you start up the phone, which is done by flashing it via fastboot (details here). If, instead, you specify the -rle flag, rgb2565 will compress the image using a simple RLE algorithm. This file can be placed in the root of your boot image and named initlogo.rle, and it will show up after the initial boot screen but before the animated android screen (details here). Do not attempt to use rle compressed files to flash the initial boot screen. See;a=tree;f=tools/rgb2565 to look at source.

Q: What filesystems does G1/Android natively support?

A: YAFFS, vFat (FAT32)

Q: Does android have any native video codecs?

A: Hardware acceleration is available for h264 at certain bitrates. (link needed with specs)

Q: So if i put the on the sd, it will automatically load that?

A: Nope. You have to tell it to load it manually (see Forcing OTA Updates) B: My phone couldn't open the file and it was downloaded from this site.

Q: How do I install Debian on my phone?


Q: How do I compile Android for the HTC Dream (G1/ADP1)?

A: See instructions here: (You will still need these instructions as well: (Update: See this link for a complete overview:

Q: How do I decompile a .dex file on Android


Q: Where can I find the Android source code?

A: (With compiling instructions to boot!)

To browse the GIT repositories go to:

Q: What is Gerrit and repo?

A: Gerritt is an open source issue tracker, and repo is a wrapper around Git. See the following link for more details.

Q: Where can I find the launcher source code?

A: Here:;a=summary

Q: How do I use repo?


Q: Where can I find more notes on using Git?

A: Git notes:

Q: Where can I find a list of code submissions that have not been claimed?


Q: How do I access the real time device logs?

A: run "adb logcat".

Q: Is there a way to view the debug logs on the device itself? (logcat logs)

A: Yes. Check out logcat.apk


Q: How do I clear my notification bar?

A: Pull down the notification bar using a top to bottom finger swipe (like a windows shade), then hit the clear notifications soft button.

Q: What browser does Android ship with?

A: It's a browser based on the open source Webkit engine, which is the same engine used by the Google Chrome browser.

Q: Hey I want to get an Android shirt. Where can I get one?


Q: How do I save browser downloads to the SD Card?

A: Download it, the only place you can save downloads is the SD Card.

Q: Is the UI based on X-Windows?

A: No

Q: Does Android support Japanese input?

A: It seems that it does. Check the following link for details.

Q: What is an SPL?

A: Secondary Program Loader, typically, a second stage bootloader. Not a term actually used by Qualcomm for msm7k has a more complex boot path involving both CPUs. Initial/secondary program loader is usually in reference to nand/onenand boot setups where you have a very small initial bootloader (1k to 16k typical), that is just enough to load a much larger secondary bootloader. Often there is something that runs first, in-rom, on-die (this is true of omap and msm chips for example) that is responsible for getting the IPL loaded.

Q: Has there been any work to improve Android with SELinux enhancements?

A: Yes, Hitachi has come of with a set of extensions to Android that incorporate SELinux enhancements. See Development of Embedded SELinux by Yuichi Nakamura, and the youtube video Android Security Upgrade "Android SELinux" : DigInfo

Q: Is there any chance UMA will ever be on the G1?

A: Not likely due to security concerns.

Q: Can the G1 do wifi monitor mode? (for wardriving)

A: Android Market application Wifiscan will scan for access points and tag them with the built in gps. Information is saved to a kml file for later use.

Q: When I turn on WiFi, why does the G1 listen to UDP port 9000?

A: wpa_supplicant is listening on UDP port 9000. wpa_supplicant provides authentication services for wireless networks (WEP, WPA, etc.)

Q: For those Android devices that don't have touchscreens, is there a keyboard way to deal with notifications?

A: If you press menu on the home screen there is a Notifications button that will pull down the drawer for you.


Q: How do I change the default system wallpaper via the API?


Q: Is there any information on creating themes for the window manager in the sdk?


Q: Is there some kind of l10n overview?


Q: how does the UI operate?


Q: How do the 3D drivers work?

A: Android uses a special subset of OpenGL called "OpenGL ES", currently maintained by the Khronos corporation. More info here: and here: . OpenGL ES 1.0 had some distinct differences from 'normal' OpenGL, although it generally conformed to OpenGL version 1.5. However OpenGL ES 2.0 is much closer to the ordinary version of OpenGL that it corresponds to: OpenGL 2.0. Note that by 2011, when GL ES 2.0 was widespread on new phones, the most current specification of OpenGL itself was at 4.0. In general OpenGL on Android is 'behind' OpenGL on desktop computers.

Q: It looks like the only part you need root for is the "flash_image" command, right? (eg to add the modified recovery, this is the only reason you need root to do it)


Brandorr's working notes - Lots of interesting unsorted links here.

Q: Is it possible to use a G1 without a SIM card?

A: Yes. See the following link for details.

  • SE Linux
Personal tools