| page.title=Managing AVDs with AVD Manager |
| parent.title=Managing Virtual Devices |
| parent.link=index.html |
| @jd:body |
| |
| <div id="qv-wrapper"> |
| <div id="qv"> |
| <h2>In this document</h2> |
| |
| <ol> |
| <li><a href="#createavd">Creating an AVD</a> |
| <ol> |
| <li><a href="#CreateDefinition">Creating a device definition</a></li> |
| <li><a href="#hardwareopts">Hardware options</a></li> |
| </ol> |
| </li> |
| <li><a href="#skins">Creating Emulator Skins</a></li> |
| </ol> |
| </div> |
| </div> |
| |
| <p>The AVD Manager is a tool you can use |
| to create and manage Android virtual devices (AVDs), which define device configurations |
| for the <a href="{@docRoot}tools/devices/emulator.html" |
| >Android Emulator</a>.</p> |
| |
| <p>To launch the AVD Manager:</p> |
| <ul> |
| <li>In Android Studio, select <strong>Tools > Android > AVD Manager</strong>, or click |
| the AVD Manager icon <img src="{@docRoot}images/tools/avd-manager-studio.png" |
| style="vertical-align:bottom;margin:0;height:19px"> in the toolbar.</li> |
| |
| <li>Or, use the command line to navigate to your SDK's <code>tools/</code> directory and execute: |
| <pre class="no-prettyprint classic">$ android avd</pre> |
| </li> |
| </ul> |
| |
| <p>The AVD Manager main screen shows your current virtual devices, as shown in figure 1.</p> |
| |
| |
| <img src="{@docRoot}images/studio-avdmgr-firstscreen.png" alt=""> |
| <p class="img-caption"><strong>Figure 1.</strong> The AVD Manager main screen shows your current |
| virtual devices.</p> |
| |
| |
| <p class="note"><strong>Note:</strong> If you launch the AVD Manager from the command line, the UI |
| is different than how it appears in Android Studio, as documented here. Most of the same |
| functionality is available, but the command-line version of the AVD Manager |
| is currently not documented.</p> |
| |
| |
| <h2 id="createavd">Creating an AVD</h2> |
| |
| <p>You can create as many AVDs as you would like to use with the Android Emulator. |
| To effectively test your app, you should create an AVD that models each device type for which |
| you have designed your app to support. For instance, you should create an AVD for each |
| API level equal to and higher than the minimum version you've specified in your manifest |
| <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html" style="white-space: nowrap;" |
| >{@code <uses-sdk>}</a> tag.</p> |
| |
| <p>To create an AVD based on an existing device definition:</p> |
| |
| <ol> |
| <li>From the main screen (figure 1), click <strong>Create Virtual Device</strong>.</li> |
| |
| <li><p>In the Select Hardware window, select a device configuration, such as Nexus 6, |
| then click <strong>Next</strong>.</p> |
| |
| <img src="{@docRoot}images/studio-avdmgr-selecthdwr.png" alt=""> |
| <p class="img-caption"><strong>Figure 2.</strong> The Select Hardware window.</p> |
| </li> |
| <li>Select the desired system version for the AVD and click <strong>Next</strong>. |
| </li> |
| <li>Verify the configuration settings, then click <strong>Finish</strong>. |
| <p>If necessary, click <strong>Show Advanced Settings</strong> to select a custom skin |
| for the hardware profile and adjust other hardware settings.</p> |
| </li> |
| </ol> |
| |
| <p>To launch the AVD in the Android Emulator, click the launch button |
| <img src="{@docRoot}images/tools/as-avd-start.png" |
| style="vertical-align:bottom;margin:0;height:19px"> |
| in the list of AVDs.</p> |
| |
| |
| <h3 id="CreateDefinition">Creating a device definition</h3> |
| |
| <p>In case the available device definitions do not match the device type you'd like to emulate, |
| you can create a custom device definition for your AVD:</p> |
| <ol> |
| <li>From the main screen (figure 1), click <strong>Create Virtual Device</strong>.</li> |
| <li>To begin you custom device by using an existing device profile as a template, select |
| a device profile then click <strong>Clone Device</strong>. |
| <p>Or, to start from scratch, click <strong>New Hardware Profile</strong>.</p> |
| </li> |
| <li> |
| <p>The following Configure Hardware Profile window (figure 3) allows you to specify various |
| configurations such as the screen size, memory options, input type, and sensors.</p> |
| |
| <p>When you're done configuring the device, click <strong>Finish</strong>.</p> |
| |
| <img src="{@docRoot}images/studio-avdmgr-confighardwareprof.png" alt=""> |
| <p class="img-caption"><strong>Figure 3.</strong> The Configure Hardware window when |
| creating a custom device configuration.</p> |
| </li> |
| <li>Your custom device configuration is now available in the list of device definitions |
| (shown after you click <strong>Create Virtual Device</strong>). To continue preparing an AVD |
| with your custom device configuration, select the new configuration and follow the instructions |
| above to create an AVD with an existing device definition (and select your new definition).</li> |
| |
| </ol> |
| |
| |
| |
| <h3 id="hardwareopts">Hardware options</h3> |
| |
| <p>If you are creating a new AVD, you can specify the following hardware options for the AVD |
| to emulate:</p> |
| |
| <table> |
| <tr> |
| <th>Characteristic</th> |
| |
| <th>Description</th> |
| |
| <th>Property</th> |
| </tr> |
| |
| <tr> |
| <td>Device ram size</td> |
| |
| <td>The amount of physical RAM on the device, in megabytes. Default value is "96".</td> |
| |
| <td>hw.ramSize</td> |
| </tr> |
| |
| <tr> |
| <td>Touch-screen support</td> |
| |
| <td>Whether there is a touch screen or not on the device. Default value is "yes".</td> |
| |
| <td>hw.touchScreen</td> |
| </tr> |
| |
| <tr> |
| <td>Trackball support</td> |
| |
| <td>Whether there is a trackball on the device. Default value is "yes".</td> |
| |
| <td>hw.trackBall</td> |
| </tr> |
| |
| <tr> |
| <td>Keyboard support</td> |
| |
| <td>Whether the device has a QWERTY keyboard. Default value is "yes".</td> |
| |
| <td>hw.keyboard</td> |
| </tr> |
| |
| <tr> |
| <td>DPad support</td> |
| |
| <td>Whether the device has DPad keys. Default value is "yes".</td> |
| |
| <td>hw.dPad</td> |
| </tr> |
| |
| <tr> |
| <td>GSM modem support</td> |
| |
| <td>Whether there is a GSM modem in the device. Default value is "yes".</td> |
| |
| <td>hw.gsmModem</td> |
| </tr> |
| |
| <tr> |
| <td>Camera support</td> |
| |
| <td>Whether the device has a camera. Default value is "no".</td> |
| |
| <td>hw.camera</td> |
| </tr> |
| |
| <tr> |
| <td>Maximum horizontal camera pixels</td> |
| |
| <td>Default value is "640".</td> |
| |
| <td>hw.camera.maxHorizontalPixels</td> |
| </tr> |
| |
| <tr> |
| <td>Maximum vertical camera pixels</td> |
| |
| <td>Default value is "480".</td> |
| |
| <td>hw.camera.maxVerticalPixels</td> |
| </tr> |
| |
| <tr> |
| <td>GPS support</td> |
| |
| <td>Whether there is a GPS in the device. Default value is "yes".</td> |
| |
| <td>hw.gps</td> |
| </tr> |
| |
| <tr> |
| <td>Battery support</td> |
| |
| <td>Whether the device can run on a battery. Default value is "yes".</td> |
| |
| <td>hw.battery</td> |
| </tr> |
| |
| <tr> |
| <td>Accelerometer</td> |
| |
| <td>Whether there is an accelerometer in the device. Default value is "yes".</td> |
| |
| <td>hw.accelerometer</td> |
| </tr> |
| |
| <tr> |
| <td>Audio recording support</td> |
| |
| <td>Whether the device can record audio. Default value is "yes".</td> |
| |
| <td>hw.audioInput</td> |
| </tr> |
| |
| <tr> |
| <td>Audio playback support</td> |
| |
| <td>Whether the device can play audio. Default value is "yes".</td> |
| |
| <td>hw.audioOutput</td> |
| </tr> |
| |
| <tr> |
| <td>SD Card support</td> |
| |
| <td>Whether the device supports insertion/removal of virtual SD Cards. Default value is |
| "yes".</td> |
| |
| <td>hw.sdCard</td> |
| </tr> |
| |
| <tr> |
| <td>Cache partition support</td> |
| |
| <td>Whether we use a /cache partition on the device. Default value is "yes".</td> |
| |
| <td>disk.cachePartition</td> |
| </tr> |
| |
| <tr> |
| <td>Cache partition size</td> |
| |
| <td>Default value is "66MB".</td> |
| |
| <td>disk.cachePartition.size</td> |
| </tr> |
| |
| <tr> |
| <td>Abstracted LCD density</td> |
| |
| <td>Sets the generalized density characteristic used by the AVD's screen. Default value is |
| "160".</td> |
| |
| <td>hw.lcd.density</td> |
| </tr> |
| </table> |
| |
| |
| <h2 id="skins">Creating Emulator Skins</h2> |
| |
| <p>An Android emulator skin is a collection of files that define the visual and control elements of |
| an emulator display. If the skin definitions available in the AVD settings don't meet your needs, |
| you can create your own custom skin definition, then apply it to your AVD from the |
| advanced settings on the Verify Configuration screen.</p> |
| |
| <p>Each emulator skin contains:</p> |
| <ul> |
| <li>A <code>hardware.ini</code> file</li> |
| <li>Layout files for supported orientations (landscape, portrait) and physical configuration</li> |
| <li>Image files for display elements, such as background, keys and buttons</li> |
| </ul> |
| <p>To create and use a custom skin:</p> |
| <ol> |
| <li>Create a new directory where you will save your skin configuration files. </li> |
| <li>Define the visual appearance of the skin in a text file named |
| <code>layout</code>. This file defines many characteristics of the skin, such as the |
| size and image assets for specific buttons. For example: |
| <pre class="no-prettyprint"> |
| parts { |
| device { |
| display { |
| width 320 |
| height 480 |
| x 0 |
| y 0 |
| } |
| } |
| |
| portrait { |
| background { |
| image background_port.png |
| } |
| |
| buttons { |
| power { |
| image button_vertical.png |
| x 1229 |
| y 616 |
| } |
| } |
| } |
| ... |
| } |
| </pre></li> |
| |
| <li>Add the bitmap files of the device images in the same directory.</li> |
| <li>Specify additional hardware-specific device configurations an <code>hardware.ini</code> |
| file for the device settings, such as <code>hw.keyboard</code> and |
| <code>hw.lcd.density</code>.</li> |
| <li>Archive the files in the skin folder and select the archive file as a custom skin. </li> |
| </ol> |
| |
| <p>For more detailed information about creating emulator skins, see the |
| <a href="https://android.googlesource.com/platform/external/qemu.git/+/master/docs/ANDROID-SKIN-FILES.TXT" |
| >Android Emulator Skin File Specification</a> in the tools source code.</p> |
| |
| |
| |