Over the next several weeks, Android 1.6 will be rolling out to customers via an over-the-air update. In addition to a number of user-facing features such as a new Android Market and a faster camera application, the Donut branch has a few goodies for developers as well. This article explores how to get 1.6 right now, and the developer-facing features inside.

Can’t wait for the regular update? The 1.6 SDK is available for download now. It contains an emulator for a virtual Android device so you can develop and test your programs on your desktop machine. Windows, Linux, and MacOS are supported.

Want to see it running on a real phone? If you have an ADP1 or Google Ion phone, download the latest version from the HTC support site. Be sure to follow the link specifically for your hardware: Android Dev Phone 1, and Google I/O Device (Ion). I tried the directions for the Ion and they worked like a charm.

For other kinds of phones such as the T-Mobile G1 and MyTouch3G, Taylor Wimberly and Ben Marvin have written a couple of articles that have downloading and install instructions. Be sure to read all the warnings and comments about potential problems with a manual update, especially if you are running a custom or rooted Android ROM.

Now that you have 1.6, let’s look at the developer-facing changes in the new version.

1.6 is a minor release of Android, which means that there are only a handful of changes in the Android application programming interface (API). The official API diffs page lists 538 removals, additions, and other changes to the API between 1.5 (Cupcake) and 1.6 (Donut). However this number is misleading. When a class is deprecated in one place and moved to another, every method and field in the class is counted twice. So the actual number of changes is much lower. Here are the highlights:

  • Support for multiple screen sizes and densities. Applications targeting 1.6 are assumed to support different screen densities and sizes. They can still explicitly specify screen support either way with the supports-screens manifest tag.
  • New permissions. 1.6 programs must explicitly request the WRITE_EXTERNAL_STORAGE permission to be able to modify the contents of the SD card, and they must explicitly request the READ_PHONE_STATE permission to be able to be able to retrieve phone state info. Apps targeting earlier versions will always request these permissions implicitly.
  • New audio sources. In 1.6, you can record audio from the VOICE_CALL, VOICE_DOWNLINK, and VOICE_UPLINK channels (hardware permitting).
  • Path-based permissions. In 1.5 you either had full access or no access to all the paths exposed by a Content Provider. In 1.6 the developer can restrict access based on particular paths.
  • Gesture strokes. Android 1.6 provides some limited support for defining gestures (distinctive finger movements) in your own applications. So far, none of the standard apps have taken advantage of this.
  • WiFi multicast. This will make it possible for apps running on the same WiFi network to discover and talk to each other.
  • OpenGL changes. Some of the classes in javax.microedition.khronos have been deprecated and moved to android.opengl. I’m not really sure they will stay there though, so there’s no urgency to change your code. More interesting are the hints that Android will be supporting OpenGL 2.0 in a future release. You can now specify the OpenGL version number that you require in your Android manifest.
  • CDMA support. Unless you’re generating GSM/CDMA tones in your program you probably don’t care about this.
  • android.os.Build.VERSION_CODES. Before making a call to a new API, you can test to see which version of Android you are running on.

By far, the most important change in 1.6 is support for different screen sizes. This is the only change in 1.6 that most developers need to worry about. 1.6 is the first release that can really support screens that are larger or smaller than the standard 320×480 HVGA display that has been used so far on all Android phones. The first phone to take advantage of this will likely be the HTC Tatoo, which will have a 240×320 screen. The Motorola Sholes/Tao, due out later this year, will have a 480×800 screen, and some netbooks will use 480×854 or bigger.

When running an older application on a 1.6 phone, Android will attempt to scale the user interface to the new size. However, it doesn’t always do a great job of this. Small screens are particularly difficult to support so on those phones Google decided to limit the Market so that 1.5 apps will not even appear in the list of available applications users can download. So it’s important that all Android programs be updated sooner or later to target the new version. In a future article I’ll explore how you can have a single program that support multiple screen sizes and versions of Android.

by Ed Burnette

[via ZDNet]


T-Mobile has started sending out Android 1.6 to its customers in an over the air update. The rollout is staggered and occurring over several weeks. You can stare at your phone endlessly waiting for the download or you can manually download it yourself.

We have discovered the file for the T-Mobile G1 which updates your phone to Android 1.6. This file is being hosted by Google so I don’t think anyone will complain about distributing it.

For the full list of Android 1.6 highlights, visit the official Google Android site.

If you have a T-Mobile myTouch 3G, please be patient while we wait for the download link to be discovered.

Method A – My G1 has the official T-Mobile version of Android 1.5

Read first: This method is for people running an official T-Mobile USA version of Android. You will be downloading the official update file from Google and manually installing it on your phone. The update file is the exact file that is being sent to phones over the air, but this method allows you to manually download it (instead of sitting there waiting).

Warning: Some developers have not updated their apps to be compatible with Android 1.6 yet. Check your favorite apps to make sure they have been updated and contact the developer if they have not.

Warning 2: If you have a home replacement app that does not support Android 1.6 you may get stuck in a force close loop. You can boot into safe mode and uninstall the offending app. Hold down Power+Menu when turning on the phone and keep holding down both buttons until the phone boots in safe mode. You can then go to Settings > Manage applications to uninstall the app.

  1. Download T-Mobile Android 1.6 (DRC83) from Google. (Search Google for “signed-kila-DRC83-from-CRC1.c41b93c1.zip” if the link is removed)
  2. Copy the downloaded file to your phone’s SD card. (Advanced users only: Use the command “adb push signed-kila-DRC83-from-CRC1.c41b93c1.zip /sdcard/update.zip”)
  3. Rename the downloaded file to update.zip (Make sure you can see the file extension. Many users make the mistake of naming the file update.zip.zip)
  4. Reboot your phone into recovery mode. Power off the phone first and then hold down the Home key while powering it back on.
  5. The recovery mode is finished loading when you see the ! mark inside the triangle. Press Alt+L  to display the list of options.
  6. Press Alt+S to flash the file update.zip.
  7. Wait for the update to apply. Your phone may reboot during this process so be patient.
  8. Press Home+Back if prompted to reboot your phone.

Verify: When the update is complete you can double-check your version of Android by going to Settings > About phone.


The build number should read DRC83.

The build number should read DRC83.

Method B – My G1 has a hacked version of Android currently installed

Read first: This method is for people running any hacked version of Android. Installing the official T-Mobile version of Android 1.6 will wipe your phone and you will lose root access. This is for people who wish to return to the latest default install of Android.

Warning: Some developers have not updated their apps to be compatible with Android 1.6 yet. Check your favorite apps to make sure they have been updated and contact the developer if they have not.

Step 1: Downgrade to RC29

  • Download the file DREAIMG-RC29.zip (Search Google if this link is removed)
  • Unzip the file DREAIMG.nbh and copy it to your SD card home directory.
  • Power off your phone first and then hold down the camera button while powering it back on.
  • When prompted, press the power button to begin the downgrade. Wait for it to finish and display the rainbow screen. Press Talk+Menu+Power to reboot your phone (or just pop your battery out once the downgrade has finished)

Step 2: Upgrade to Android 1.5 CRB43

  • Download the file signed-kila-ota-148830.de6a94ca.zip (Search Google if this link is removed)
  • Rename the file to update.zip and copy it to your SD card (Advanced users only: Use the command “adb push signed-kila-ota-148830.de6a94ca.zip /sdcard/update.zip”)
  • Reboot your phone into recovery mode. Power off the phone first and then hold down the Home key while powering it back on.
  • The recovery mode is finished loading when you see the ! mark inside the triangle. Press Alt+L  to display the list of options.
  • Press Alt+S to flash the file update.zip.
  • Wait for the update to apply. Your phone may reboot during this process so be patient.
  • Press Home+Back if prompted to reboot your phone.

Step 3: Upgrade to Android 1.5 CRC1

Step 4: Upgrade to Android 1.6 DRC83

Verify: When the update is complete you can double-check your version of Android by going to Settings > About phone.


The build number should read DRC83.

The build number should read DRC83.

[Thanks Justin for the link]


By Taylor Wimberly

[via Android and Me]



We were thrilled last week when T-Mobile started rolling out Android 1.6, but we were also shocked that the update came without warning. Developers were also surprised with how soon the update started appearing. Everyone knew Android 1.6 was looming, but there was no public date for its availability.

Did Google fumble the Android 1.6 launch?

1. The update caught developers off guard.

Developers knew the update was coming, but many had not released updates for their applications. This is a problem because Android 1.6 causes problems with many apps and they need to be updated in order to be compatible.

Google normally sends an email to all developers who register with Android Market in order to warn them, but that did not happen this time around.

Some customers experienced severe problems when they updated to Android 1.6 because they had apps installed that were not compatible with the update.

2. Google uploaded the wrong 1.6 images on HTC’s site.

Google uploaded the developer images of Android 1.6 to HTC’s site only two days before the over the air update began. Unfortunately, the wrong images were uploaded at first, which caused further confusion among developers.

3. Android 1.6 breaks many apps in ADC2.

The Android Developers challenge is in the middle of the first round of voting. According to the official rules of the contest, applications can not be upgraded after they are submitted. All of the applications were designed for Android 1.5 so the new update to Android 1.6 makes these apps unusable.

Hopefully Google will do something to address this.

Having Problems with Android 1.6?

If you are experiencing force close loops, you can boot your phone into safe mode and uninstall the offending software.

  • Power off your phone
  • Hold down Menu and then power on your phone
  • Keep holding Menu down until Android boots and you see safe mode displayed on your desktop
  • Go to Settings > Applications > Manage Applications and uninstall problem software

If you experience an application that has problems, please email the developer. Many problems can be easily fixed, but the dev needs to be aware that problems exist.

The following is a list of applications that users have reported problems with Android 1.6. Not all have been verified. Let us know if any get fixed and we will update it.

  • Open Home (Fixed)
  • Useful Switchers
  • Facebook
  • Panda Home
  • Appmanager Pro
  • CoPilot
  • Handcent
  • Twidroid
  • Toggle Settings

It appears apps that use GPS, home replacement apps, and some apps with native Android tabs are having issues.

If you know of an app that does not work with Android 1.6, leave a comment and we will add it to the list.

By Taylor Wimberly

[via Android and Me]


Android 1.6 OTA Confirmed!

October - 1 - 2009 - Thursday ADD COMMENTS


We reported earlier tonight that T-Mobile could be sending out the over the air update for Android 1.6 as early as tonight. I seriously doubted the rumor, but it looks like I was proven wrong. Two readers have already confirmed that they received the OTA and one even sent in pictures to prove it.

According to Tmonews, select G1’s will receive the update over the next 24 hours and then it will begin rolling out to myTouch 3G users. We expect the rollout will be staggered so it could still be a few weeks before everyone is officially updated.

If we obtain a link to the official update file, we will post it so that users can perform a manual update instead of having to wait.

Android 1.6 about screen.

Android 1.6 about screen.

[Thank you Kevin Mohr for sending in the picture]


[via AndroidAndMe]


Android OS 1.6, codenamed “Donut”, has been released to application developers with relatively little fanfare, at least in comparison to the previous 1.5 “Cupcake” version. The list of new features suggests the public release will grab a little more attention from users; it includes a series of large fixes, frequently-requested additions, and a few surprises.

Possibly the most single requested feature for the Android platform, native multi-touch support, has been confirmed both as hardware support primarily for upcoming devices such as the HTC Hero and as software emulation. Many third-party applications will need to be updated to support multitouch gesture control, but it shouldn’t be long before they start popping up on the Android Market considering it’s been such a consistently requested feature.

The Android Market itself will be getting a facelift, including a new UI and more finely grained control for listing and searching apps. New categories will debut that should help developers list their apps more effectively. And to help visibility, the new version of the Market will give users the ability to search apps by cost and release date and show screen shots in app descriptions.

A quick-search bar has been added providing the ability to search both web content and the handset simultaneously, from the home screen (similar to Universal Search on Palm’s webOS). Quick-search includes handset contacts and responds to voice commands for both searching and placing calls. The quick-search bar includes the ability to index third-party app content, however users may add or remove the service on a per-app basis.

Multilingual text-to-speech support is now available to developers, so expect your Android handset to start talking to you shortly. Especially interesting is that the text-to-speech, in addition to being multi-lingual (English and German for now), seems to support multiple tertiary localizations (for example UK vs. US English).

The new display scaling feature only confirms the rumors: Android is moving into the PMP, netbook, and tablet markets (we’ve already seen it on an Archos tablet). Display scaling will allow the same UI used on Android handsets to be applied to larger-format devices without compromising either the multi-desktop approach or overall graphical fidelity.

Android 1.6 will also reportedly support CDMA handsets, which may not mean much to users that already own Android handsets, but for developers it ultimately means more Android users.

The HTC Hero for Sprint is the first Android handset to run OS 1.6. Reviews of the Hero have mainly been positive, but there’s a consensus that it is somewhat sluggish. And be sure to read PC World’s full review of the HTC Hero.

by Chris Head

[via PCWorld]



Subscribe to RSS Feed Follow Us On Twitter   qrcode
Visit Us On Your Mobile, Use The QR Code Above

About us

Google Android Blog brings you News, Hacks and Resources relating to Google Android. Note Google Android Blog is an independent publication and is in no way affiliated with The Open Handset Alliance, Google and it’s members. All trademarks are the property of their respective owners.















Site Hosted by: Virtual Server Node
Domain purchased through Dirt Cheap ISP for $7.99.