Android FAQ

From Android Wiki

(Difference between revisions)
Jump to: navigation, searcha
(Q: What Android related IRC Channels are there?)
Line 9: Line 9:
===Q: What Android related IRC Channels are there?===
===Q: What Android related IRC Channels are there?===
A: #android and #android-dev (Both on Also Jay Freeman (saurik) is hosting:
A: #android and #android-dev (Both on Also Jay Freeman (saurik) is hosting: and last but not least is #android-downloads (our channel, kinda small and empty, but still there)
===Q: What is infobot?===
===Q: What is infobot?===

Revision as of 07:35, 13 January 2009

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: 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 and #android-dev (Both on Also Jay Freeman (saurik) is hosting: and last but not least is #android-downloads (our channel, kinda small and empty, but still there)

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" seems to be considered 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.

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) stop working?

A: You can do a reboot and this should work, but you can also try enabling and disabling airplane mode. (The latter worked for me when reboot did not)

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. Andy Ross put together a GPL'd native code OpenGL demo and performance rig. There's a makefile build system and a perl wrapper around the compiler. Probably worth looking at if you need sample code:

Q: Is Python available for Android?

A: There is no supported way to run Python on Android.

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.

Q: Does Android support writing native applications?

A: It depends on what you mean by support. Currently, there is no "supported" method of writing native apps. However, it is possible. (see links below). That said, there is a tentative long term plan by the Android development team to provide an NDK (native Development Kit) for those edge cases where Java apps do not make sense.

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: Currently no. The problem is that right now the widgets API effectively requires root access, so the Android team is going to have to rewrite the whole widgets implementation to release it publicly. This is supposedly in progress.


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

A: Yes. There are two sites:

  • The official site is here: (This is rather limited)
  • Jay Freeman (saurik) has written the following web application that gives full access to the Market from any browser: (IE: You can access market comments, ratings and what not).

Q: Is there a way to see the marketplace comments on the web (without a phone)?

A: Not via the official site, however Jay Freeman (saurik) has created a website that provides the full info on all market apps:

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: When will I be able to buy apps from the Market?

A: According to this CNET article, developers will be able to charge for applicaitons starting "early in the first quarter 2009".

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

A: The developer selects the catagory upon upload.

Q: Do the market and have anything in common?

A: Not at all.


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

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: 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). Alternatively, the FBReader folks are working on an Android app called FBReaderJ, which at the moment does not support mobipocket, but they plan to have mobipocket support some time in Q12008. (No DRM support though)

Devices: Developer Devices

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: 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")

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.

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:

Devices: T-Mobile G1

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

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: No, and it probably never officially will. 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."

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. Extended batteries are still far and few between, but these are the batteries we could find info on:

Q: Does G1 or Android support multitouch?

A: Some clever experimentation by RyeBrye seems to prove that the G1 hardware does support multitouch, but the software does not. Please see the following video for more details:

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: Only if you have a rooted device, then Bluetooth/USB are supported, but WiFi currently is not.

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

A: The following codecs are supported:

  • Video: H.264, 3GPP, MPEG4, and Codec 3GP

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: This feature wasn't ready in time for initial ship. It should be added in a later OTA release.

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: There is an android-porting mailing list:

Q: Is there an x86 port of Android?

A: Yes, but it hasn't been published yet. 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: What is cupcake?

A: Cupcake is a readonly clone of Google's private development branch. Google plans to merge cupcake into mainline. See link for more details.

Q: Will cupcake run on the G1/ADP1?

A: Need confirmation: Currently there are a number of closed source drivers that are not included. Someone with access to the source to these drivers will have to compile them with the 2.6.27 kernel that cupcake includes. Chances are that until there is an official OTA release for the G1 that is based on the changes in cupcake it will be very difficult to get it running on the G1/ADP1. These drivers include: The Qualcomm camera driver, frontend HW accel codec, h264, libhgl.

  • latest: libaudio for msm7k is not compiling, should be fixed soon at which point we should be able to get a base Dream build going.

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

See 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: Currently Linux and Mac OS X. Work is underway to release a Windows binary.

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)

Q: How do I install Debian on my phone?


Q: Is it possible to make Native applications for Android?

A: Yes. See the following links:

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

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 Apple's Safari 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: Are there any open source Gtalk clients?

A: Yes. See:

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: When I turn on WiFi, why does the G1 listen to UDP port 9000?


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 any chance UMA will ever be on the G1?


Q: Is there some kind of l10n overview?


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: how does the UI operate?


Q: How do the 3D drivers work?


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)


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


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