| page.title=Developing on a Device |
| @jd:body |
| |
| <div id="qv-wrapper"> |
| <div id="qv"> |
| <h2>In this document</h2> |
| <ol> |
| <li><a href="#devices">Available Devices</a> |
| <ol> |
| <li><a href="#consumer">Consumer devices</a></li> |
| <li><a href="#dev-phone-1">Android Dev Phone 1</a></li> |
| </ol> |
| </li> |
| <li><a href="#setting-up">Setting up a Device for Development</a> |
| <ol> |
| <li><a href="#VendorIds">USB Vendor IDs</a></li> |
| </ol> |
| </li> |
| </ol> |
| <h2>See also</h2> |
| <ol> |
| <li><a |
| href="{@docRoot}sdk/win-usb.html">USB Driver for Windows</a></li> |
| </ol> |
| </div> |
| </div> |
| |
| <p>When building mobile applications, it's vital to test them on real |
| devices prior to releasing them to users. This page covers what you need to know, |
| including the types of devices that you can use, and how to set one up for |
| developing and debugging.</p> |
| |
| |
| <h2 id="devices">Available Devices</h2> |
| <p>Here are some options for obtaining devices capable of testing your applications.</p> |
| |
| |
| <h3 id="consumer">Consumer devices</h3> |
| |
| <p>It's likely that one of your local mobile carriers offers an Android-powered device. |
| Any Android-powered device (even one bought from your mobile carrier) is a perfectly good |
| device for running and testing your own Android applications. |
| You can write applications using the Android SDK and then install them |
| directly onto the device for testing.</p> |
| |
| <p>Check with the service providers in your area to determine which Android-powered |
| devices are available.</p> |
| |
| <p>Be aware that consumer devices are not designed to allow system image updates by the |
| user. If you're interested in manually updating the device with custom system images, then |
| you'll need a developer device such as the <a href="#dev-phone-1">Android Dev Phone 1</a>.</p> |
| |
| |
| |
| <h3 id="dev-phone-1">Android Dev Phone 1</h3> |
| |
| <div class="sidebox-wrapper"> |
| <div class="sidebox-inner"> |
| <p>Selected specs for Android Dev Phone 1:</p> |
| <ul> |
| <li>Touch screen</li> |
| <li>Trackball</li> |
| <li>3.2 megapixel camera with autofocus</li> |
| <li>Wi-Fi</li> |
| <li>GPS-enabled</li> |
| <li>Bluetooth v2.0 |
| <ul><li>Handsfree profile v1.5</li> |
| <li>Headset profile v1.0</li></ul></li> |
| <li>3G WCDMA (1700/2100 MHz)</li> |
| <li>Quad-band GSM (850/900/1800/1900 MHz)</li> |
| <li>QWERTY slider keyboard</li> |
| <li>Includes 1GB MicroSD card (can be replaced with up to 16GB card)</li> |
| </ul> |
| </div> |
| </div> |
| |
| <p>The Android Dev Phone 1 is a SIM-unlocked and hardware-unlocked device that |
| is designed for advanced developers. The device ships with a system image that |
| is fully compatible with Android 1.0, so you can rely on it when developing your |
| applications. You can use any SIM in the device and can flash custom Android |
| builds that will work with the unlocked bootloader. Unlike the bootloader on |
| retail devices, the bootloader on the Android Dev Phone 1 does not enforce |
| signed system images. The Android Dev Phone 1 should also appeal to developers |
| who live in geographies where local mobile carriers do not currently offer Android-powered devices. </p> |
| |
| <p>To purchase an Android Dev Phone 1 device, you must first register as an |
| Android developer on the Android Market site, if you haven't done so already. |
| Once you've logged into your developer account on Android Market, you can |
| purchase the device by following the link to "Development phones." To accommodate demand, |
| there is a limit of 1 device per developer account, for now.</p> |
| |
| <p>The device currently costs $399 (USD) (including free shipping in the US), |
| and is available for purchase in 18 international markets, including the |
| US, UK, Germany, Japan, India, Canada, France, Taiwan, Spain, Australia, |
| Singapore, Switzerland, Netherlands, Austria, Sweden, Finland, Poland, and |
| Hungary. We will continue to expand this program into new geographies over |
| time. Check this page for updated information.</p> |
| |
| <p>Android Dev Phone 1 devices are <em>not</em> intended for |
| non-developer end-users. Because the device can be configured with system |
| software not provided by or supported by Google or any other company, end-users |
| operate these devices at their own risk.</p> |
| |
| <p>Note that your Android Dev Phone 1 will not receive automated |
| over-the-air (OTA) updates for the system image. System updates must be flashed manually. |
| See the HTC site for a guide to <a href="http://www.htc.com/www/support/android/adp.html">Flashing |
| your Android Dev Phone with a Factory System Image</a>.</p> |
| |
| <p>For full device specs and more information about obtaining an Android Dev |
| Phone 1 device, see the <a href="http://market.android.com/publish">Android |
| Market</a> site.</p> |
| |
| |
| |
| <h2 id="setting-up">Setting up a Device for Development</h2> |
| |
| <p>With an Android-powered device, you can develop and debug your Android applications just as you |
| would on the emulator. There are just a few things to do before you can start.</p> |
| <ol> |
| <li>Declare your application as "debuggable" in your Android Manifest. |
| <p>In Eclipse, you can do this from the <b>Application</b> tab when viewing the Manifest |
| (on the right side, set <b>Debuggable</b> to <em>true</em>). Otherwise, in the <code>AndroidManifest.xml</code> |
| file, add <code>android:debuggable="true"</code> to the <code><application></code> element.</p> |
| </li> |
| <li>Turn on "USB Debugging" on your device. |
| <p>On the device, go to the home screen, press <b>MENU</b>, select <b>Applications</b> > <b>Development</b>, |
| then enable <b>USB debugging</b>.</p> |
| </li> |
| <li>Setup your system to detect your device. |
| <ul> |
| <li>If you're developing on Windows, you need to install a USB driver |
| for adb. See the <a href="{@docRoot}sdk/win-usb.html">Windows USB |
| Driver</a> documentation.</li> |
| <li>If you're developing on Mac OS X, it just works. Skip this step.</li> |
| <li>If you're developing on Ubuntu Linux, you need to add a rules file |
| that contains a USB configuration for each type of device you want to use for |
| development. Each device manufacturer uses a different vendor ID. The |
| example rules files below show how to add an entry for a single vendor ID |
| (the HTC vendor ID). In order to support more devices, you will need additional |
| lines of the same format that provide a different value for the |
| <code>SYSFS{idVendor}</code> property. For other IDs, see the table of <a |
| href="#VendorIds">USB Vendor IDs</a>, below. |
| <ol> |
| <li>Log in as root and create this file: |
| <code>/etc/udev/rules.d/51-android.rules</code>. |
| <p>For Gusty/Hardy, edit the file to read:<br/> |
| <code>SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", |
| MODE="0666"</code></p> |
| |
| <p>For Dapper, edit the file to read:<br/> |
| <code>SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0bb4", |
| MODE="0666"</code></p> |
| </li> |
| <li>Now execute:<br/> |
| <code>chmod a+r /etc/udev/rules.d/51-android.rules</code> |
| </li> |
| </ol> |
| </li> |
| </ul> |
| </li> |
| </ol> |
| <p>You can verify that your device is connected by executing <code>adb devices</code> from your |
| SDK tools/ directory. If connected, you'll see the device name listed as a "device."</p> |
| <p>If using Eclipse, select run or debug as usual. You will be presented |
| with a <b>Device Chooser</b> dialog that lists the available emulator(s) and connected device(s). |
| Select the device to install and run the application there.</p> |
| |
| <p>If using the <a href="{@docRoot}guide/developing/tools/adb.html">Android Debug Bridge</a> (adb), |
| you can issue commands with the <code>-d</code> flag to target your |
| connected device.</p> |
| |
| |
| <h3 id="VendorIds">USB Vendor IDs</h3> |
| <p>This table provides a reference to the vendor IDs needed in order to add |
| device support on Linux. The USB Vendor ID is the value given to the |
| <code>SYSFS{idVendor}</code> property in the rules file.</p> |
| <table> |
| <tr> |
| <th>Manufacturer</th><th>USB Vendor ID</th></tr> |
| <tr> |
| <td>Acer</td><td>0502</td></tr> |
| <tr> |
| <td>HTC</td><td>0bb4</td></tr> |
| <tr> |
| <td>Huawei</td><td>12d1</td></tr> |
| <tr> |
| <td>LG</td><td>1004</td></tr> |
| <tr> |
| <td>Motorola</td><td>22b8</td></tr> |
| <tr> |
| <td>Samsung</td><td>04e8</td></tr> |
| <tr> |
| <td>Sony Ericsson</td><td>0fce</td></tr> |
| </table> |
| |