docs: add info about customizing the density of an AVD from command line; and a few editorial things like fix the TOCs Change-Id: I4e301fe005d8fb4d04550b7db5afe2b63fe66802
370 lines
13 KiB
Plaintext
370 lines
13 KiB
Plaintext
page.title=Managing AVDs from the Command Line
|
|
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="#listingtargets">Listing Targets</a></li>
|
|
<li><a href="#AVDCmdLine">Creating AVDs</a>
|
|
<ol>
|
|
<li><a href="#CustomDensity">Customize the device resolution or density</a></li>
|
|
<li><a href="#DefaultLocation">Default location of AVD files</a></li>
|
|
<li><a href="#hardwareopts">Setting hardware emulation options</a></li>
|
|
</ol>
|
|
</li>
|
|
<li><a href="#moving">Moving an AVD</a></li>
|
|
<li><a href="#updating">Updating an AVD</a></li>
|
|
<li><a href="#deleting">Deleting an AVD</a></li>
|
|
</ol>
|
|
<h2>See also</h2>
|
|
<ol>
|
|
<li><a href="{@docRoot}guide/developing/building/building-cmdline.html">Building and Running
|
|
from the Command Line</a></li>
|
|
<li><a href="{@docRoot}guide/developing/devices/emulator.html">Using the Android
|
|
Emulator</a></li>
|
|
</ol>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<p>The <code>android</code> tool lets you manage AVDs on the command line. For a complete reference
|
|
of the command line options that you can use, see the reference for the
|
|
<a href="{@docRoot}guide/developing/tools/android.html"><code>android</code></a> tool.</p>
|
|
|
|
|
|
|
|
<h2 id="listingtargets">Listing Targets</h2>
|
|
|
|
<p>To generate a list of system image targets, use this command: </p>
|
|
|
|
<pre>android list targets</pre>
|
|
|
|
<p>The <code>android</code> tool scans the <code><sdk>/platforms/</code> and
|
|
<code><sdk>/add-ons/</code> directories looking for valid system images and
|
|
then generates the list of targets. Here's an example of the command output:
|
|
</p>
|
|
|
|
<pre>Available Android targets:
|
|
id: 1 or "android-3"
|
|
Name: Android 1.5
|
|
Type: Platform
|
|
API level: 3
|
|
Revision: 4
|
|
Skins: QVGA-L, HVGA-L, HVGA (default), HVGA-P, QVGA-P
|
|
id: 2 or "android-4"
|
|
Name: Android 1.6
|
|
Type: Platform
|
|
API level: 4
|
|
Revision: 3
|
|
Skins: QVGA, HVGA (default), WVGA800, WVGA854
|
|
id: 3 or "android-7"
|
|
Name: Android 2.1-update1
|
|
Type: Platform
|
|
API level: 7
|
|
Revision: 2
|
|
Skins: QVGA, WQVGA400, HVGA (default), WVGA854, WQVGA432, WVGA800
|
|
id: 4 or "android-8"
|
|
Name: Android 2.2
|
|
Type: Platform
|
|
API level: 8
|
|
Revision: 2
|
|
Skins: WQVGA400, QVGA, WVGA854, HVGA (default), WVGA800, WQVGA432
|
|
id: 5 or "android-9"
|
|
Name: Android 2.3
|
|
Type: Platform
|
|
API level: 9
|
|
Revision: 1
|
|
Skins: HVGA (default), WVGA800, WQVGA432, QVGA, WVGA854, WQVGA400
|
|
</pre>
|
|
|
|
|
|
|
|
<h2 id="AVDCmdLine">Creating AVDs</h2>
|
|
|
|
<p>In addition to creating AVDs with the
|
|
<a href="{@docRoot}guide/developing/devices/managing-avds-cmdline.html">AVD Manager user interface</a>,
|
|
you can also create them by passing in command line arguments to the <code>android</code> tool.
|
|
</p>
|
|
|
|
<p>Open a terminal window and change to
|
|
the <code><sdk>/tools/</code> directory, if needed.</p>
|
|
|
|
<p>To create each AVD, you issue the command <code>android create avd</code>,
|
|
with options that specify a name for the new AVD and the system image you want
|
|
to run on the emulator when the AVD is invoked. You can specify other options on
|
|
the command line also, such as the emulated SD card size, the emulator skin, or a custom
|
|
location for the user data files.</p>
|
|
|
|
<p>Here's the command-line usage for creating an AVD: </p>
|
|
|
|
<pre>android create avd -n <name> -t <targetID> [-<option> <value>] ... </pre>
|
|
|
|
<p>You can use any name you want for the AVD, but since you are likely to be
|
|
creating multiple AVDs, you should choose a name that lets you recognize the
|
|
general characteristics offered by the AVD. The target ID is an integer assigned by the
|
|
<code>android</code> tool. The target ID is not derived from the system image name,
|
|
version, or API Level, or other attribute, so you need to run the <code>android list targets</code>
|
|
command to list the target ID of each system image. You should do this <em>before</em> you run
|
|
the <code>android create avd</code> command. See the <a
|
|
href="{@docRoot}guide/developing/tools/android.html">android</a>
|
|
tool documentation for more information on the command line options.</p>
|
|
|
|
|
|
<p>When you've selected the target you want to use and made a note of its ID,
|
|
use the <code>android create avd</code> command to create the AVD, supplying the
|
|
target ID as the <code>-t</code> argument. Here's an example that creates an
|
|
AVD with name "my_android1.5" and target ID "2" (the standard Android 1.5
|
|
system image in the list above): </p>
|
|
|
|
<pre>android create avd -n my_android1.5 -t 2</pre>
|
|
|
|
<p>If the target you selected was a standard Android system image ("Type:
|
|
platform"), the <code>android</code> tool next asks you whether you want to
|
|
create a custom hardware profile. </p>
|
|
<pre>Android 1.5 is a basic Android platform.
|
|
Do you wish to create a custom hardware profile [no]</pre>
|
|
|
|
<p>If you want to set custom hardware emulation options for the AVD, enter
|
|
"yes" and set values as needed. If you want to use the default hardware
|
|
emulation options for the AVD, just press the return key (the default is "no").
|
|
The <code>android</code> tool creates the AVD with name and system image mapping you
|
|
requested, with the options you specified. For more information, see <a href="#hardwareopts">
|
|
Setting Hardware Emulation Options</a>.
|
|
|
|
<p class="note"><strong>Note:</strong> If you are creating an AVD whose target is an SDK add-on, the
|
|
<code>android</code> tool does not allow you to set hardware emulation options.
|
|
It assumes that the provider of the add-on has set emulation options
|
|
appropriately for the device that the add-on is modeling, and so prevents you
|
|
from resetting the options. </p>
|
|
|
|
|
|
<h3 id="CustomDensity">Customize the device resolution or density</h3>
|
|
|
|
<p>When testing your application, we recommend that you test your application in several different
|
|
AVDs, using different screen configurations (different combinations of size and density). In
|
|
addition, you should set up the AVDs to run at a physical size that closely matches an actual
|
|
device.</p>
|
|
|
|
<p>To set up your AVDs for a specific resolution or density, follow these steps:</p>
|
|
|
|
<ol>
|
|
<li>Use the <code>create avd</code> command to create a new AVD, specifying
|
|
the <code>--skin</code> option with a value that references either a default
|
|
skin name (such as "WVGA800") or a custom skin resolution (such as 240x432).
|
|
Here's an example:
|
|
<pre>android create avd -n <name> -t <targetID> --skin WVGA800</pre>
|
|
</li>
|
|
<li>To specify a custom density for the skin, answer "yes" when asked whether
|
|
you want to create a custom hardware profile for the new AVD.</li>
|
|
<li>Continue through the various profile settings until the tool asks you to
|
|
specify "Abstracted LCD density" (<em>hw.lcd.density</em>). Enter an appropriate
|
|
value, such as "120" for a low-density screen, "160" for a medium density screen,
|
|
or "240" for a high-density screen.</li>
|
|
<li>Set any other hardware options and complete the AVD creation.</li>
|
|
</ol>
|
|
|
|
<p>In the example above (WVGA medium density), the new AVD will emulate a 5.8"
|
|
WVGA screen.</p>
|
|
|
|
<p>As an alternative to adjusting the emulator skin configuration, you can use
|
|
the emulator skin's default density and add the <code>-dpi-device</code> option
|
|
to the <a href="{@docRoot}guide/developing/tools/emulator.html">emulator</a> command line when
|
|
starting the AVD. For example:</p>
|
|
|
|
<pre>emulator -avd WVGA800 -scale 96dpi -dpi-device 160</pre>
|
|
|
|
|
|
|
|
<h3 id="DefaultLocation">Default location of AVD files</h3>
|
|
|
|
<p>When you create an AVD, the <code>android</code> tool creates a dedicated directory for it
|
|
on your development computer. The directory contains the AVD configuration file,
|
|
the user data image and SD card image (if available), and any other files
|
|
associated with the device. Note that the directory does not contain a system
|
|
image — instead, the AVD configuration file contains a mapping to the
|
|
system image, which it loads when the AVD is launched. </p>
|
|
|
|
<p>The <code>android</code> tool also creates an <code><AVD_name>.ini</code> file for the AVD at the
|
|
root of the <code>.android/avd/</code> directory on your computer. The file specifies the
|
|
location of the AVD directory and always remains at the root the .android
|
|
directory.</p>
|
|
|
|
<p>By default, the <code>android</code> tool creates the AVD directory inside
|
|
<code>~/.android/avd/</code> (on Linux/Mac), <code>C:\Documents and
|
|
Settings\<user>\.android\</code> on Windows XP, and
|
|
<code>C:\Users\<user>\.android\</code> on Windows 7 and Vista.
|
|
If you want to use a custom location for the AVD directory, you
|
|
can do so by using the <code>-p <path></code> option when
|
|
you create the AVD: </p>
|
|
|
|
<pre>android create avd -n my_android1.5 -t 2 -p path/to/my/avd</pre>
|
|
|
|
<p>If the .android directory is hosted on a network drive, we recommend using
|
|
the <code>-p</code> option to place the AVD directory in another location.
|
|
The AVD's .ini file remains in the .android directory on the network
|
|
drive, regardless of the location of the AVD directory.
|
|
|
|
|
|
<h3 id="hardwareopts">Setting hardware emulation options</h3>
|
|
|
|
<p>When you are creating a new AVD that uses a standard Android system image ("Type:
|
|
platform"), the <code>android</code> tool lets you set hardware emulation
|
|
options for virtual device. The table below lists the options available and the
|
|
default values, as well as the names of properties that store the emulated
|
|
hardware options in the AVD's configuration file (the config.ini file in the
|
|
AVD's local directory). </p>
|
|
|
|
<p class="table-caption"><strong>Table 1.</strong> Available hardware profile options for AVDs and
|
|
the default values </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>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
|
|
|
|
<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>
|
|
|
|
<tr>
|
|
<td>Trackball support</td>
|
|
<td>Whether there is a trackball present.</td>
|
|
<td>hw.trackBall </td>
|
|
</tr>
|
|
</table>
|
|
|
|
|
|
<h2 id="moving">Moving an AVD</h2>
|
|
|
|
<p>If you want to move or rename an AVD, you can do so using this command:</p>
|
|
|
|
<pre>android move avd -n <name> [-<option> <value>] ...</pre>
|
|
|
|
<h2 id="updating">Updating an AVD</h2>
|
|
|
|
<p>If, for any reason, the platform/add-on root folder has its name changed (maybe because the user has installed an update of the platform/add-on) then the AVD will not be able to load the system image that it is mapped to. In this case, the <code>android list targets</code> command will produce this output:
|
|
|
|
<pre>The following Android Virtual Devices could not be loaded:
|
|
Name: foo
|
|
Path: <path>/.android/avd/foo.avd
|
|
Error: Invalid value in image.sysdir. Run 'android update avd -n foo' </pre>
|
|
|
|
<p>To fix this error, use the <code>android update avd</code> command to recompute the path to the system images.</p>
|
|
|
|
<h2 id="deleting">Deleting an AVD</h2>
|
|
|
|
<p>You can use the <code>android</code> tool to delete an AVD. Here is the command usage:</p>
|
|
|
|
<pre>android delete avd -n <name> </pre>
|
|
|
|
<p>When you issue the command, the <code>android</code> tool looks for an AVD matching the
|
|
specified name deletes the AVD's directory and files. </p>
|