page.title=Using Hardware Devices
@jd:body

<div id="qv-wrapper">
<div id="qv">
  <h2>In this document</h2>
  <ol>
    <li><a href="#device-developer-options">Enabling On-device Developer Options</a></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">Google USB Driver</a></li>
    <li><a href="{@docRoot}tools/extras/oem-usb.html">OEM USB Drivers</a></li>
  </ol>
</div>
</div>

<p>When building a mobile application, it's important that you always test your application on a
real device before releasing it to users. This page describes how to set up your development
environment and Android-powered device for testing and debugging on the device.</p>

<p>You can use any Android-powered device as an environment for running,
debugging, and testing your applications. The tools included in the SDK make it easy to install and
run your application on the device each time you compile. You can install your application on the
device directly from Android Studio or from the command line with ADB. If
you don't yet have a device, check with the service providers in your area to determine which
Android-powered devices are available.</p>

<p>If you want a SIM-unlocked phone, then you might consider a Nexus phone. To purchase a
Nexus phone, visit the <a href="https://play.google.com/store/devices">Google Play</a> store.</p>

<p class="note"><strong>Note:</strong> When developing on a device, keep in mind that you should
still use the <a
href="{@docRoot}tools/devices/emulator.html">Android emulator</a> to test your
application
on configurations that are not equivalent to those of your real device. Although the emulator
does not allow you to test every device feature (such as the accelerometer), it does
allow you to verify that your application functions properly on different versions of the Android
platform, in different screen sizes and orientations, and more.</p>


<h2 id="developer-device-options" style="margin-bottom: 0px;">Enabling On-device Developer Options</h2>

<img src="/images/tools/dev-options-inmilk.png" alt="" style="float:right;margin-left:30px">

<p>Android-powered devices have a host of developer options that you can
access on the phone, which let you:</p>
<ul>
  <li>Enable debugging over USB.</li>
  <li>Quickly capture bug reports onto the device.</li>
  <li>Show CPU usage on screen.</li>
  <li>Draw debugging information on screen such as layout bounds,
    updates on GPU views and hardware layers, and other information.</li>
  <li>Plus many more options to simulate app stresses or enable debugging options.</li>
</ul>
<p>To access these settings, open the <em>Developer options</em> in the
system Settings. On Android 4.2 and higher, the Developer options screen is
hidden by default. To make it visible, go to
<b>Settings &gt; About phone</b> and tap <b>Build number</b> seven times. Return to the previous
screen to find Developer options at the bottom.</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. Before you can start, there are just a few things to do:</p>

<ol>
  <li>Verify that your application is "debuggable" in your manifest or <em>build.gradle</em> file.
    <p>In the build file, make sure the <em>debuggable</em> property in the <em>debug</em> build
    type is set to true. The build type property overrides the manifest setting. </p>
<pre>
android {
    buildTypes {
        debug {
            debuggable true
        }
</pre>

    <p>In the <code>AndroidManifest.xml</code> file, add <code>android:debuggable="true"</code> to
the <code>&lt;application></code> element.</p>
    <p class="note"><strong>Note:</strong> If you manually enable debugging in the manifest
 file, be sure to disable it in your release build (your published application
should usually <em>not</em> be debuggable).</p></li>
  <li>Enable <strong>USB debugging</strong> on your device.
    <ul>
      <li>On most devices running Android 3.2 or older, you can find the option under
        <strong>Settings > Applications > Development</strong>.</li>
      <li>On Android 4.0 and newer, it's in <strong>Settings > Developer options</strong>.
        <p class="note"><strong>Note:</strong> On Android 4.2 and newer, <strong>Developer
        options</strong> is hidden by default. To make it available, go
        to <strong>Settings > About phone</strong> and tap <strong>Build number</strong>
        seven times. Return to the previous screen to find <strong>Developer options</strong>.</p>
      </li>
    </ul>
  </li>
  <li>Set up your system to detect your device.
    <ul>
      <li>If you're developing on Windows, you need to install a USB driver for adb. For an
installation guide and links to OEM drivers, see the <a href="{@docRoot}tools/extras/oem-usb.html">OEM USB
Drivers</a> document.</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
<code>udev</code> rules file that contains a USB configuration for each type of device
you want to use for development. In the rules file, each device manufacturer
is identified by a unique vendor ID, as specified by the
<code>ATTR{idVendor}</code> property. For a list of vendor IDs, see  <a
href="#VendorIds">USB Vendor IDs</a>, below. To set up device detection on
Ubuntu Linux:

        <ol type="a">
          <li>Log in as root and create this file:
            <code>/etc/udev/rules.d/51-android.rules</code></span>.
            <p>Use this format to add each vendor to the file:<br/>
              <code>SUBSYSTEM==&quot;usb&quot;, ATTR{idVendor}==&quot;0bb4&quot;, MODE=&quot;0666&quot;, GROUP=&quot;plugdev&quot;</code>
              <br /><br />

              In this example, the vendor ID is for HTC. The <code>MODE</code>
assignment specifies read/write permissions, and <code>GROUP</code> defines
which Unix group  owns the device node. </p>

            <p class="note"><strong>Note:</strong> The rule syntax
may vary slightly depending on your  environment. Consult the <code>udev</code>
documentation for your system as needed. For an overview of rule syntax, see
this guide to <a
href="http://www.reactivated.net/writing_udev_rules.html">writing udev
rules</a>.</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 class="note"><strong>Note:</strong> When you connect a device running Android 4.2.2 or higher
to your computer, the system shows a dialog asking whether to accept an RSA key that allows
debugging through this computer. This security mechanism protects user devices because it ensures
that USB debugging and other adb commands cannot be executed unless you're able to unlock the
device and acknowledge the dialog. This requires that you have adb version 1.0.31 (available with
SDK Platform-tools r16.0.1 and higher) in order to debug on a device running Android 4.2.2 or
higher.</p>


<p>When plugged in over USB, you can verify that your device is connected by executing <code>adb
devices</code> from your SDK {@code platform-tools/} directory. If connected,
you'll see the device name listed as a "device."</p>

<p>If using Android Studio, run or debug your application 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 upon which you want to
install and run the application.</p>

<p>If using the <a href="{@docRoot}tools/help/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 USB
device support on Linux. The USB Vendor ID is the value given to the
<code>ATTR{idVendor}</code> property in the rules file, as described
above.</p>

<table>
  <tr>
    <th>Company</th><th>USB Vendor ID</th></tr>
  <tr>
    <td>Acer</td>
    <td><code>0502</code></td>
  </tr>
  <tr>
    <td>ASUS</td>
    <td><code>0b05</code></td>
  </tr>
  <tr>
    <td>Dell</td>
    <td><code>413c</code></td>
  </tr>
  <tr>
    <td>Foxconn</td>
    <td><code>0489</code></td>
  </tr>
  <tr>
    <td>Fujitsu</td>
    <td><code>04c5</code></td>
  </tr>
  <tr>
    <td>Fujitsu Toshiba</td>
    <td><code>04c5</code></td>
  </tr>
  <tr>
    <td>Garmin-Asus</td>
    <td><code>091e</code></td>
  </tr>
  <tr>
    <td>Google</td>
    <td><code>18d1</code></td>
  </tr>
  <tr>
    <td>Haier</td>
    <td><code>201E</code></td>
  </tr>
  <tr>
    <td>Hisense</td>
    <td><code>109b</code></td>
  </tr>
  <tr>
    <td>HTC</td>
    <td><code>0bb4</code></td>
  </tr>
  <tr>
    <td>Huawei</td>
    <td><code>12d1</code></td>
  </tr>
  <tr>
    <td>Intel</td>
    <td><code>8087</code></td>
  </tr>
  <tr>
    <td>K-Touch</td>
    <td><code>24e3</code></td>
  </tr>
  <tr>
    <td>KT Tech</td>
    <td><code>2116</code></td>
  </tr>
  <tr>
    <td>Kyocera</td>
    <td><code>0482</code></td>
  </tr>
  <tr>
    <td>Lenovo</td>
    <td><code>17ef</code></td>
  </tr>
  <tr>
    <td>LG</td>
    <td><code>1004</code></td>
  </tr>
  <tr>
    <td>Motorola</td>
    <td><code>22b8</code></td>
  </tr>
  <tr>
    <td>MTK</td>
    <td><code>0e8d</code></td>
  </tr>
  <tr>
    <td>NEC</td>
    <td><code>0409</code></td>
  </tr>
  <tr>
    <td>Nook</td>
    <td><code>2080</code></td>
  </tr>
  <tr>
    <td>Nvidia</td>
    <td><code>0955</code></td>
  </tr>
  <tr>
    <td>OTGV</td>
    <td><code>2257</code></td>
  </tr>
  <tr>
    <td>Pantech</td>
    <td><code>10a9</code></td>
  </tr>
  <tr>
    <td>Pegatron</td>
    <td><code>1d4d</code></td>
  </tr>
  <tr>
    <td>Philips</td>
    <td><code>0471</code></td>
  </tr>
  <tr>
    <td>PMC-Sierra</td>
    <td><code>04da</code></td>
  </tr>
  <tr>
    <td>Qualcomm</td>
    <td><code>05c6</code></td>
  </tr>
  <tr>
    <td>SK Telesys</td>
    <td><code>1f53</code></td>
  </tr>
  <tr>
    <td>Samsung</td>
    <td><code>04e8</code></td>
  </tr>
  <tr>
    <td>Sharp</td>
    <td><code>04dd</code></td>
  </tr>
  <tr>
    <td>Sony</td>
    <td><code>054c</code></td>
  </tr>
  <tr>
    <td>Sony Ericsson</td>
    <td><code>0fce</code></td>
  </tr>
  <tr>
    <td>Sony Mobile Communications</td>
    <td><code>0fce</code></td>
  </tr>
  <tr>
    <td>Teleepoch</td>
    <td><code>2340</code></td>
  </tr>
  <tr>
    <td>Toshiba</td>
    <td><code>0930</code></td>
  </tr>
  <tr>
    <td>ZTE</td>
    <td><code>19d2</code></td>
  </tr>
</table>
