Change-Id: I7c49f97c6ebbf64fb642dc24698e172361e5694f (cherry picked from commit c56cd34dcafe0d854a3a2b234a32cf859708f1df)
337 lines
10 KiB
Plaintext
337 lines
10 KiB
Plaintext
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>
|
|
|
|
|
|
|