Convert Android guide html tables to markdown (#64)

* Convert emulator properties table to markdown

* fix table heading

* convert wear table to markdown

* add links to markdown tables

* troubleshooting tables and tweaks

* more table formatting tweaks

* more fine tuning

* emulator table formatting

* final tweak
This commit is contained in:
Mark McLemore 2018-03-13 17:39:43 -07:00 коммит произвёл Craig Dunn
Родитель ecfc789f1f
Коммит 7074956a80
8 изменённых файлов: 321 добавлений и 1427 удалений

Просмотреть файл

@ -7,7 +7,7 @@ ms.assetid: 4FC3C774-EF93-41B2-A81E-C6A08F32C09B
ms.technology: xamarin-android
author: mgmclemore
ms.author: mamcle
ms.date: 02/16/2018
ms.date: 03/13/2018
---
# Remote Notifications With Google Cloud Messaging
@ -696,37 +696,12 @@ is `com.xamarin.gcmexample`.
Let's look at what each setting in this XML does:
<table>
<thead>
<tr>
<th>Setting</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>com.google.android.gms.gcm.GcmReceiver</code></td>
<td>Declares that our app implements a GCM receiver that
captures and processes incoming push notification messages.</td>
</tr>
<tr>
<td><code>com.google.android.c2dm.permission.SEND</code></td>
<td>Declares that only GCM servers can send messages directly
to the app.</td>
</tr>
<tr>
<td><code>com.google.android.c2dm.intent.RECEIVE</code></td>
<td>Intent filter advertising that our app handles broadcast
messages from GCM.</td>
</tr>
<tr>
<td><code>com.google.android.c2dm.intent.REGISTRATION</code></td>
<td>Intent filter advertising that our app handles new registration
intents (that is, we have implemented an Instance ID Listener
Service).</td>
</tr>
</tbody>
</table>
|Setting|Description|
|---|---|
|`com.google.android.gms.gcm.GcmReceiver`|Declares that our app implements a GCM receiver that captures and processes incoming push notification messages.|
|`com.google.android.c2dm.permission.SEND`|Declares that only GCM servers can send messages directly to the app.|
|`com.google.android.c2dm.intent.RECEIVE`|Intent filter advertising that our app handles broadcast messages from GCM.|
|`com.google.android.c2dm.intent.REGISTRATION`|Intent filter advertising that our app handles new registration intents (that is, we have implemented an Instance ID Listener Service).|
Alternatively, you can decorate `GcmListenerService` with these
attributes rather than specifying them in XML; here we specify them in

Просмотреть файл

@ -6,7 +6,7 @@ ms.assetid: 3528E195-AA74-90AF-B5F3-3B65FB4F0BB8
ms.technology: xamarin-android
author: mgmclemore
ms.author: mamcle
ms.date: 03/09/2018
ms.date: 03/13/2018
---
# Linking on Android
@ -20,43 +20,10 @@ members is found. Then everything outside of this closure is *discarded*.
For example, the [Hello, Android](https://developer.xamarin.com/samples/HelloM4A/) sample:
<table border="0" cellpadding="1" cellspacing="1">
<tbody>
<tr>
<td>
<strong>Configuration</strong>
</td>
<td>
<strong>1.2.0 Size</strong>
</td>
<td>
<strong>4.0.1 Size</strong>
</td>
</tr>
<tr>
<td>
Release without Linking:
</td>
<td>
14.0 MB
</td>
<td>
16.0 MB
</td>
</tr>
<tr>
<td>
Release with Linking:
</td>
<td>
4.2 MB
</td>
<td>
2.9 MB
</td>
</tr>
</tbody>
</table>
|Configuration|1.2.0 Size|4.0.1 Size|
|---|---|---|
|Release without Linking:|14.0 MB|16.0 MB|
|Release with Linking:|4.2 MB|2.9 MB|
Linking results in a package that is 30% the size of the original
(unlinked) package in 1.2.0, and 18% of the unlinked package in 4.0.1.

Просмотреть файл

@ -7,7 +7,7 @@ ms.assetid: ECB327F3-FF1C-45CC-9FA6-9C11032BD5EF
ms.technology: xamarin-android
author: mgmclemore
ms.author: mamcle
ms.date: 03/01/2018
ms.date: 03/13/2018
---
# Xamarin Android Device Manager
@ -614,7 +614,7 @@ You can change properties by using the following guidelines:
The following table provides a detailed explanation of the properties
listed in the **New Device** and **Device Editor** screens:
[!include[](~/android/includes/table.html)]
[!include[](~/android/includes/emulator-properties.md)]
For more information about these properties, see
[Hardware Profile Properties](https://developer.android.com/studio/run/managing-avds.html#hpproperties).

Просмотреть файл

@ -7,7 +7,7 @@ ms.assetid: A3B6C041-4052-4E7D-999C-C4FA10BE3D67
ms.technology: xamarin-android
author: mgmclemore
ms.author: mamcle
ms.date: 03/09/2018
ms.date: 03/13/2018
---
# Xamarin for Java Developers
@ -725,143 +725,19 @@ Many language keywords used in Java are also used in C#. There are also
a number of Java keywords that have an equivalent but differently-named
counterpart in C#, as listed in this table:
<table align="center" border="1" cellpadding="1" cellspacing="1">
<thead>
<th>
<strong>Java</strong>
</th>
<th>
<strong>C#</strong>
</th>
<th>
<strong>Description</strong>
</th>
</thead>
<tbody>
<tr>
<td valign="top">
<code>boolean</code>
</td>
<td valign="top">
<a href="https://msdn.microsoft.com/en-us/library/c8f5xwh7.aspx">bool</a>
</td>
<td valign="top">
Used for declaring the boolean values <code>true</code> and <code>false</code>.
</td>
</tr>
<tr>
<td valign="top">
<code>extends</code>
</td>
<td valign="top">
<code>:</code>
</td>
<td valign="top">
Precedes the class and interfaces to inherit from.
</td>
</tr>
<tr>
<td valign="top">
<code>implements</code>
</td>
<td valign="top">
<code>:</code>
</td>
<td valign="top">
Precedes the class and interfaces to inherit from.
</td>
</tr>
<tr>
<td valign="top">
<code>import</code>
</td>
<td valign="top">
<a href="https://msdn.microsoft.com/en-us/library/zhdeatwt.aspx">using</a>
</td>
<td valign="top">
Imports types from a namespace, also used for creating a namespace alias.
</td>
</tr>
<tr>
<td valign="final">
<code>final</code>
</td>
<td valign="top">
<a href="https://msdn.microsoft.com/en-us/library/88c54tsw.aspx">sealed</a>
</td>
<td valign="top">
Prevents class derivation; prevents methods and properties
from being overridden in derived classes.
</td>
</tr>
<tr>
<td valign="top">
<code>instanceof</code>
</td>
<td valign="top">
<a href="https://msdn.microsoft.com/en-us/library/scekt9xw.aspx">is</a>
</td>
<td valign="top">
Evaluates whether an object is compatible with a given type.
</td>
</tr>
<tr>
<td valign="top">
<code>native</code>
</td>
<td valign="top">
<a href="https://msdn.microsoft.com/en-us/library/e59b22c5.aspx">extern</a>
</td>
<td valign="top">
Declares a method that is implemented externally.
</td>
</tr>
<tr>
<td valign="top">
<code>package</code>
</td>
<td valign="top">
<a href="https://msdn.microsoft.com/en-us/library/z2kcy19k.aspx">namespace</a>
</td>
<td valign="top">
Declares a scope for a related set of objects.
</td>
</tr>
<tr>
<td valign="top">
<code>T...</code>
</td>
<td valign="top">
<a href="https://msdn.microsoft.com/en-us/library/w5zay9db.aspx">params T[]</a>
</td>
<td valign="top">
Specifies a method parameter that takes a variable number of arguments.
</td>
</tr>
<tr>
<td valign="top">
<code>super</code>
</td>
<td valign="top">
<a href="https://msdn.microsoft.com/en-us/library/hfw7t1ce.aspx">base</a>
</td>
<td valign="top">
Used to access members of the parent class from within a derived class.
</td>
</tr>
<tr>
<td valign="synchronized">
<code>synchronized</code>
</td>
<td valign="top">
<a href="https://msdn.microsoft.com/en-us/library/c5kehkcz.aspx">lock</a>
</td>
<td valign="top">
Wraps a critical section of code with lock acquisition and release.
</td>
</tr>
</tbody>
</table>
|Java|C#|Description|
|---|---|---|
|`boolean`|[bool](https://msdn.microsoft.com/en-us/library/c8f5xwh7.aspx)|Used for declaring the boolean values true and false.|
|`extends`|`:`|Precedes the class and interfaces to inherit from.|
|`implements`|`:`|Precedes the class and interfaces to inherit from.|
|`import`|[using](https://msdn.microsoft.com/en-us/library/zhdeatwt.aspx)|Imports types from a namespace, also used for creating a namespace alias.|
|`final`|[sealed](https://msdn.microsoft.com/en-us/library/88c54tsw.aspx)|Prevents class derivation; prevents methods and properties from being overridden in derived classes.|
|`instanceof`|[is](https://msdn.microsoft.com/en-us/library/scekt9xw.aspx)|Evaluates whether an object is compatible with a given type.|
|`native`|[extern](https://msdn.microsoft.com/en-us/library/e59b22c5.aspx)|Declares a method that is implemented externally.|
|`package`|[namespace](https://msdn.microsoft.com/en-us/library/z2kcy19k.aspx)|Declares a scope for a related set of objects.|
|`T...`|[params T](https://msdn.microsoft.com/en-us/library/w5zay9db.aspx)|Specifies a method parameter that takes a variable number of arguments.|
|`super`|[base](https://msdn.microsoft.com/en-us/library/hfw7t1ce.aspx)|Used to access members of the parent class from within a derived class.|
|`synchronized`|[lock](https://msdn.microsoft.com/en-us/library/c5kehkcz.aspx)|Wraps a critical section of code with lock acquisition and release.|
Also, there are many keywords that are unique to C# and have no
@ -870,204 +746,31 @@ following C# keywords (this table is useful to refer to when you
are reading through Xamarin.Android
[sample code](https://developer.xamarin.com/samples/android/all/)):
<table align="center" border="1" cellpadding="1" cellspacing="1">
<thead>
<th>
<strong>C#</strong>
</th>
<th>
<strong>Description</strong>
</th>
</thead>
<tbody>
<tr>
<td valign="top">
<a href="https://msdn.microsoft.com/en-us/library/cscsdfbt.aspx">as</a>
</td>
<td valign="top">
Performs conversions between compatible reference types or nullable types.
</td>
</tr>
<tr>
<td valign="top">
<a href="https://msdn.microsoft.com/en-us/library/hh156513.aspx">async</a>
</td>
<td valign="top">
Specifies that a method or lambda expression is asynchronous.
</td>
</tr>
<tr>
<td valign="top">
<a href="https://msdn.microsoft.com/en-us/library/hh156528.aspx">await</a>
</td>
<td valign="top">
Suspends the execution of a method until a task completes.
</td>
</tr>
<tr>
<td valign="top">
<a href="https://msdn.microsoft.com/en-us/library/5bdb6693.aspx">byte</a>
</td>
<td valign="top">
Unsigned 8-bit integer type.
</td>
</tr>
<tr>
<td valign="top">
<a href="https://msdn.microsoft.com/en-us/library/900fyy8e.aspx">delegate</a>
</td>
<td valign="top">
Used to encapsulate a method or anonymous method.
</td>
</tr>
<tr>
<td valign="top">
<a href="https://msdn.microsoft.com/en-us/library/sbbt4032.aspx">enum</a>
</td>
<td valign="top">
Declares an enumeration, a set of named constants.
</td>
</tr>
<tr>
<td valign="top">
<a href="https://msdn.microsoft.com/en-us/library/8627sbea.aspx">event</a>
</td>
<td valign="top">
Declares an event in a publisher class.
</td>
</tr>
<tr>
<td valign="top">
<a href="https://msdn.microsoft.com/en-us/library/f58wzh21.aspx">fixed</a>
</td>
<td valign="top">
Prevents a variable from being relocated.
</td>
</tr>
<tr>
<td valign="top">
get
</td>
<td valign="top">
Defines an accessor method that retrieves the value of a property.
</td>
</tr>
<tr>
<td valign="top">
<a href="https://msdn.microsoft.com/en-us/library/dd469484.aspx">in</a>
</td>
<td valign="top">
Enables a parameter to accept a less derived type in a generic interface.
</td>
</tr>
<tr>
<td valign="top">
<a href="https://msdn.microsoft.com/en-us/library/9kkx3h3c.aspx">object</a>
</td>
<td valign="top">
An alias for the <code>Object</code> type in the .NET framework.
</td>
</tr>
<tr>
<td valign="top">
<a href="https://msdn.microsoft.com/en-us/library/t3c3bfhx.aspx">out</a>
</td>
<td valign="top">
Parameter modifier or generic type parameter declaration.
</td>
</tr>
<tr>
<td valign="top">
<a href="https://msdn.microsoft.com/en-us/library/ebca9ah3.aspx">override</a>
</td>
<td valign="top">
Extends or modifies the implementation of an inherited member.
</td>
</tr>
<tr>
<td valign="top">
<a href="https://msdn.microsoft.com/en-us/library/6b0scde8.aspx">partial</a>
</td>
<td valign="top">
Declares a definition to be split into multiple files, or splits a method
definition from its implementation.
</td>
</tr>
<tr>
<td valign="top">
<a href="https://msdn.microsoft.com/en-us/library/acdd6hb7.aspx">readonly</a>
</td>
<td valign="top">
Declares that a class member can be assigned only at declaration time or by the class constructor.
</td>
</tr>
<tr>
<td valign="top">
<a href="https://msdn.microsoft.com/en-us/library/14akc2c7.aspx">ref</a>
</td>
<td valign="top">
Causes an argument to be passed by reference rather than by value.
</td>
</tr>
<tr>
<td valign="top">
<a href="https://msdn.microsoft.com/en-us/library/ms228368.aspx">set</a>
</td>
<td valign="top">
Defines an accessor method that sets the value of a property.
</td>
</tr>
<tr>
<td valign="top">
<a href="https://msdn.microsoft.com/en-us/library/362314fe.aspx">string</a>
</td>
<td valign="top">
Alias for the <code>String</code> type in the .NET framework.
</td>
</tr>
<tr>
<td valign="top">
<a href="https://msdn.microsoft.com/en-us/library/ah19swz4.aspx">struct</a>
</td>
<td valign="top">
A value type that encapsulates a group of related variables.
</td>
</tr>
<tr>
<td valign="top">
<a href="https://msdn.microsoft.com/en-us/library/58918ffs.aspx">typeof</a>
</td>
<td valign="top">
Obtains the type of an object.
</td>
</tr>
<tr>
<td valign="top">
<a href="https://msdn.microsoft.com/en-us/library/bb383973.aspx">var</a>
</td>
<td valign="top">
Declares an implicitly-typed local variable.
</td>
</tr>
<tr>
<td valign="top">
<a href="https://msdn.microsoft.com/en-us/library/a1khb4f8.aspx">value</a>
</td>
<td valign="top">
References the value that client code wants to assign to a property.
</td>
</tr>
<tr>
<td valign="top">
<a href="https://msdn.microsoft.com/en-us/library/9fkccyh4.aspx">virtual</a>
</td>
<td valign="top">
Allows a method to be overridden in a derived class.
</td>
</tr>
</tbody>
</table>
|C#|Description|
|---|---|
|[as](https://msdn.microsoft.com/en-us/library/cscsdfbt.aspx)|Performs conversions between compatible reference types or nullable types.|
|[async](https://msdn.microsoft.com/en-us/library/hh156513.aspx)|Specifies that a method or lambda expression is asynchronous.|
|[await](https://msdn.microsoft.com/en-us/library/hh156528.aspx)|Suspends the execution of a method until a task completes.|
|[byte](https://msdn.microsoft.com/en-us/library/5bdb6693.aspx)|Unsigned 8-bit integer type.|
|[delegate](https://msdn.microsoft.com/en-us/library/900fyy8e.aspx)|Used to encapsulate a method or anonymous method.|
|[enum](https://msdn.microsoft.com/en-us/library/sbbt4032.aspx)|Declares an enumeration, a set of named constants.|
|[event](https://msdn.microsoft.com/en-us/library/8627sbea.aspx)|Declares an event in a publisher class.|
|[fixed](https://msdn.microsoft.com/en-us/library/f58wzh21.aspx)|Prevents a variable from being relocated.|
|`get`|Defines an accessor method that retrieves the value of a property.|
|[in](https://msdn.microsoft.com/en-us/library/dd469484.aspx)|Enables a parameter to accept a less derived type in a generic interface.|
|[object](https://msdn.microsoft.com/en-us/library/9kkx3h3c.aspx)|An alias for the Object type in the .NET framework.|
|[out](https://msdn.microsoft.com/en-us/library/t3c3bfhx.aspx)|Parameter modifier or generic type parameter declaration.|
|[override](https://msdn.microsoft.com/en-us/library/ebca9ah3.aspx)|Extends or modifies the implementation of an inherited member.|
|[partial](https://msdn.microsoft.com/en-us/library/6b0scde8.aspx)|Declares a definition to be split into multiple files, or splits a method definition from its implementation.|
|[readonly](https://msdn.microsoft.com/en-us/library/acdd6hb7.aspx)|Declares that a class member can be assigned only at declaration time or by the class constructor.|
|[ref](https://msdn.microsoft.com/en-us/library/14akc2c7.aspx)|Causes an argument to be passed by reference rather than by value.|
|[set](https://msdn.microsoft.com/en-us/library/ms228368.aspx)|Defines an accessor method that sets the value of a property.|
|[string](https://msdn.microsoft.com/en-us/library/362314fe.aspx)|Alias for the String type in the .NET framework.|
|[struct](https://msdn.microsoft.com/en-us/library/ah19swz4.aspx)|A value type that encapsulates a group of related variables.|
|[typeof](https://msdn.microsoft.com/en-us/library/58918ffs.aspx)|Obtains the type of an object.|
|[var](https://msdn.microsoft.com/en-us/library/bb383973.aspx)|Declares an implicitly-typed local variable.|
|[value](https://msdn.microsoft.com/en-us/library/a1khb4f8.aspx)|References the value that client code wants to assign to a property.|
|[virtual](https://msdn.microsoft.com/en-us/library/9fkccyh4.aspx)|Allows a method to be overridden in a derived class.|
<a name="interop" />

Просмотреть файл

@ -0,0 +1,60 @@
|Property|Description|Options|
|--- |--- |--- |
|`abi.type`|**ABI type** &ndash; Specifies the ABI (application binary interface) type of the emulated device. The **x86** option is for the instruction set commonly referred to as "x86" or "IA-32." The **x86_64** option is for the 64-bit x86 instruction set. The **armeabi-v7a** option is for the ARM instruction set with v7-a ARM extensions. The **arm64-v8a** option is for the ARM instruction set that supports AArch64.|x86, x86_64, armeabi-v7a, arm64-v8a|
|`disk.cachePartition`|**Cache partition** &ndash; Determines whether the emulated device will use a **/cache** partition on the device. The **/cache** partition (which is initially empty) is the location where Android stores frequently accessed data and app components. If set to **no**, the emulator will not use a **/cache** partition and the other `disk.cache` settings will be ignored.|yes, no|
|`disk.cachePartition.path`|**Cache partition path** &ndash; Specifies a cache partition image file on your development computer. The emulator will use this file for the **/cache** partition. Enter an absolute path or a path relative to the emulator's data directory. If not set, the emulator creates an empty temporary file called **cache.img** on your development computer. If the file does not exist, it is created as an empty file. This option is ignored if `disk.cachePartition` is set to **no**.||
|`disk.cachePartition.size`|**Cache partition size** &ndash; The size of the cache partition file (in megabytes). Normally you do not need to set this option unless the app will be downloading very large files that are larger than the default cache size of 66 megabytes. This option is ignored if `disk.cachePartition` is set to **no**.||
|`disk.dataPartition.initPath`|**Initial path to the data partition** &ndash; Specifies the initial contents of the data partition. After wiping user data, the emulator copies the contents of the specified file to user data (by default, **userdata-qemu.img**) instead of using **userdata.img** as the initial version.||
|`disk.dataPartition.path`|**Path to the data partition** &ndash; Specifies the user data partition file. To configure a persistent user data file, enter a filename and a path on your development computer. If the file doesn't exist, the emulator creates an image from the default file **userdata.img**, stores it in the filename specified by `disk.dataPartition.path`, and persists user data to it when the emulator shuts down. If you don't specify a path, the default file is named **userdata-qemu.img**. The special value **<temp>** causes the emulator to create and use a temporary file. If `disk.dataPartition.initPath` is set, its content will be copied to the disk.dataPartition.path file at boot-time. Note that this option cannot be left blank.||
|`disk.dataPartition.size`|**Data partition size** &ndash; Specifies the size of the user data partition in megabytes.||
|`disk.ramdisk.path`|**Ramdisk path** &ndash; Path to the boot partition (ramdisk) image. The ramdisk image is a subset of the system image that is loaded by the kernel before the system image is mounted. The ramdisk image typically contains boot-time binaries and initialization scripts. If this option is not specified, the default is **ramdisk.img** in the emulator system directory.||
|`disk.snapStorage.path`|**Snapshot storage path** &ndash; Path to the snapshot storage file where all snapshots are stored. All snapshots made during execution will be saved to this file. Only snapshots that are saved to this file can be restored during the emulator run. If this option is not specified, the default is snapshots.img in the emulator data directory.||
|`disk.systemPartition.initPath`|**System partition init path** &ndash; Path to the read-only copy of the system image file; specifically, the partition containing the system libraries and data corresponding to the API level and any variant. If this path is not specified, the default is system.img in the emulator system directory.||
|`disk.systemPartition.path`|**System partition path** &ndash; Path to the read/write system partition image. If this path is not set, a temporary file will be created and initialized from the contents of the file specified by `disk.systemPartition.initPath`.||
|`disk.systemPartition.size`|**System partition size** &ndash; The ideal size of the system partition (in megabytes). The size is ignored if the actual system partition image is larger than this setting; otherwise, it specifies the maximum size that the system partition file can grow to.||
|`hw.accelerometer`|**Accelerometer** &ndash; Determines whether the emulated device contains an accelerometer sensor. The accelerometer helps the device determine orientation (used for auto-rotation). The accelerometer reports the acceleration of the device along three sensor axes.|yes, no|
|`hw.audioInput`|**Audio recording support** &ndash; Determines whether the emulated device can record audio.|yes, no|
|`hw.audioOutput`|**Audio playback support** &ndash; Determines whether the emulated device can play audio.|yes, no|
|`hw.battery`|**Battery support** &ndash; Determines whether the emulated device can run on a battery.|yes, no|
|`hw.camera`|**Camera support** &ndash; Determines whether the emulated device has a camera.|yes, no|
|`hw.camera.back`|**Back-facing camera** &ndash; Configures the back-facing camera (the lens faces away from the user). If you are using a webcam on your development computer to simulate the back-facing camera on the emulated device, this value must be set to webcam*n*, where _n_ selects the webcam (if you have only one webcam, choose **webcam0**). If set to emulated, the emulator simulates the camera in software. To disable the back-facing camera, set this value to none. If you enable the back-facing camera, be sure to also enable `hw.camera`.|emulated, none, webcam0|
|`hw.camera.front`|**Front-facing camera** &ndash; Configures the front-facing camera (the lens faces towards the user). If you are using a webcam on your development computer to simulate the front-facing camera on the emulated device, this value must be set to webcam*n*, where _n_ selects the webcam (if you have only one webcam, choose **webcam0**). If set to emulated, the emulator simulates a camera in software. To disable the front-facing camera, set this value to none. If you enable the front-facing camera, be sure to also enable `hw.camera`.|emulated, none, webcam0|
|`hw.camera.maxHorizontalPixels`|**Maximum horizontal camera pixels** &ndash; Configures the maximum horizontal resolution of the emulated device's camera (in pixels).||
|`hw.camera.maxVerticalPixels`|**Maximum vertical camera pixels** &ndash; Configures the maximum vertical resolution of the emulated device's camera (in pixels).||
|`hw.cpu.arch`|**CPU architecture** &ndash; The CPU architecture to be emulated by the virtual device. If you are using Intel HAXM for hardware acceleration, select **x86** for a 32-bit CPU. Select **x86_64** for a 64-bit HAXM-accelerated device. (Be sure to install the corresponding Intel x86 system image in the SDK Manager: for example, Intel x86 Atom or Intel x86 Atom_64.) To simulate an ARM CPU, select **arm** for 32-bit or select **arm64** for a 64-bit ARM CPU. Keep in mind that ARM-based virtual devices will run much slower than those that are x86-based because hardware acceleration is not available for ARM.|x86, x86_64, arm, arm64|
|`hw.cpu.model`|**CPU model** &ndash; This value is normally left unset (it will be set to a value that is derived from `hw.cpu.arch` if it is not explicitly set). However, it can be set to an emulator-specific string for experimental use.||
|`hw.dPad`|**DPad keys** &ndash; Determines whether the emulated device supports directional pad (DPad) keys. A DPad typically has four keys to indicate directional control.|yes, no|
|`hw.gps`|**GPS support** &ndash; Determines whether the emulated device has a GPS (Global Positioning System) receiver.|yes, no|
|`hw.gpu.enabled`|**GPU emulation** &ndash; Determines whether the emulated device supports GPU emulation. When enabled, GPU emulation uses Open GL for Embedded Systems (OpenGL ES) for rendering both 2D and 3D graphics on the screen, and the associated GPU Emulation Mode setting determines how the GPU emulation is implemented.|yes, no|
|`hw.gpu.mode`|**GPU emulation mode** &ndash; Determines how GPU emulation is implemented by the emulator. If you select auto, the emulator will choose hardware and software acceleration based on your development computer setup. If you select host, the emulator will use your development computer's graphics processor to perform GPU emulation for faster rendering. If your GPU is not compatible with the emulator and you are on Windows, you can try angle instead of host. The angle mode uses DirectX to provide performance similar to host. If you select mesa, the emulator will use the Mesa 3D software library to render graphics. Select mesa if you have problems rendering via your development computer's graphics processor. The swiftshader mode can be used to render graphics in software with slightly less performance than using your computer's GPU. The off option (disable graphics hardware emulation) is a deprecated option that can cause improper rendering for some items and is therefore not recommended.|auto, host, mesa, angle, swiftshader, off|
|`hw.gsmModem`|**GSM modem support** &ndash; Determines whether the emulated device includes a modem that supports the GSM (Global System for Mobile Communications) telephony radio system.|yes, no|
|`hw.initialOrientation`|**Initial screen orientation** &ndash; Configures the initial orientation of the screen on the emulated device (portrait or landscape mode). In portrait mode, the screen is taller than it is wide. In landscape mode, the screen is wider than it is tall. When running the emulated device, you can change the orientation if both portrait and landscape are supported in the device profile.|portrait, landscape|
|`hw.keyboard`|**Keyboard support** &ndash; Determines whether the emulated device supports a QWERTY keyboard.|yes, no|
|`hw.keyboard.charmap`|**Keyboard charmap name** &ndash; The name of the hardware charmap for this device. NOTE: This should always be the default **qwerty2** unless you have modified the system image accordingly. This name is sent to the kernel at boot time. Using an incorrect name will result in an unusable virtual device.||
|`hw.keyboard.lid`|**Keyboard lid support** &ndash; If keyboard support is enabled, this setting determines whether the QWERTY keyboard can be closed/hidden or opened/visible. This setting will be ignored if hw.keyboard is set to false. NOTE: the default value is false if the emulated device targets API level 12 or higher.|yes, no|
|`hw.lcd.backlight`|**LCD backlight** &ndash; Determines whether an LCD backlight is simulated by the emulated device.|yes, no|
|`hw.lcd.density`|**LCD density** &ndash; The density of the emulated LCD display, measured in density-independent pixels, or dp (dp is a virtual pixel unit). When the setting is 160 dp, each dp corresponds to one physical pixel. At runtime, Android uses this value to select and scale the appropriate resources/assets for correct display rendering.|120, 160, 240, 213, 320|
|`hw.lcd.depth`|**LCD color depth** &ndash; The color bit-depth of the emulated framebuffer that holds the bitmap for driving the LCD display. This value can be 16 bits (65,536 possible colors) or 32 bits (16,777,216 colors plus transparency). The 32-bit setting can make the emulator run slightly slower but with better color accuracy.|16, 32|
|`hw.lcd.height`|**LCD pixel height** &ndash; The number of pixels that make up the vertical dimension of the emulated LCD display.||
|`hw.lcd.width`|**LCD pixel width** &ndash; The number of pixels that make up the horizontal dimension of the emulated LCD display.||
|`hw.mainKeys`|**Hardware Back/Home keys** &ndash; Determines whether the emulated device supports hardware Back and Home navigation buttons. You can set this value to **yes** if the buttons are implemented only in software. If `hw.mainKeys` is set to **yes**, the emulator will not display navigation buttons on the screen, but you can use the emulator side panel to "press" these buttons.|yes, no|
|`hw.ramSize`|**Device RAM Size** &ndash; The amount of physical RAM on the emulated device, in megabytes. The default value will be computed from the screen size or the skin version. Increasing the size can provide faster emulator operation, but at the expense of demanding more resources from your development computer.||
|`hw.screen`|**Touch screen type** &ndash; Defines the type of screen on the emulated device. A multi-touch screen can track two or more fingers on the touch interface. A touch screen can detect only single-finger touch events. A no-touch screen does not detect touch events.|touch, multi-touch, no-touch|
|`hw.sdCard`|**SDCard support** &ndash; Determines whether the emulated device supports insertion and removal of virtual SD (Secure Digital) cards. The emulator uses mountable disk images stored on your development computer to simulate the partitions of actual SD card devices (see hw.sdCard.path).|yes, no|
|`sdcard.size`|**SDCard size** &ndash; Specifies the size of the virtual SD card file at the location specified by `hw.sdCard.path`. available on the device (in bytes). If the size is a simple integer, it specifies the size in bytes. You can also specify the size in kilobytes, megabytes, and gigabytes by appending K, M, or G to the size. The minimum size is 9M and the maximum size is 1023G.||
|`hw.sdCard.path`|**SDCard Image Path** &ndash; Specifies the filename and path to an SD card partition image file on your development computer. For example, this path could be set to **C:\sd\sdcard.img** on Windows.||
|`hw.sensors.magnetic_field`|**Magnetic Field Sensor** &ndash; Determines whether the emulated device supports a magnetic field sensor. The magnetic field sensor (also known as magnetometer) reports the ambient geomagnetic field as measured along three sensor axes. Enable this setting for apps that need access to a compass reading. For example, a navigation app might use this sensor to detect which direction the user faces.|yes, no|
|`hw.sensors.orientation`|**Orientation Sensor** &ndash; Determines whether the emulated device provides orientation sensor values. The orientation sensor measures degrees of rotation that a device makes around all three physical axes (x, y, z). Note that the orientation sensor was deprecated as of Android 2.2 (API level 8).|yes, no|
|`hw.sensors.proximity`|**Proximity Sensor** &ndash; Determines whether the emulated device supports a proximity sensor. This sensor measures the proximity of an object relative to the view screen of a device. This sensor is typically used to determine whether a handset is being held up to a person's ear.|yes, no|
|`hw.sensors.temperature`|**Temperature Sensor** &ndash; Determines whether the emulated device supports a temperature sensor. This sensor measures the temperature of the device in degrees Celsius (&deg;C).|yes, no|
|`hw.touchScreen`|**Touch-screen support** &ndash; Determines whether the emulated device supports a touch screen. The touch screen is used for direct manipulation of objects on the screen.|yes, no|
|`hw.trackBall`|**Trackball support** &ndash; Determines whether the emulated device supports a trackball.|yes, no|
|`hw.useext4`|**EXT4 file system support** &ndash; Determines whether the emulated device uses the Linux EXT4 file system for partitions. Because the file system type is now auto-detected, this option is deprecated and ignored.|no|
|`kernel.newDeviceNaming`|**Kernel new device naming** &ndash; Used to specify whether the kernel requires a new device naming scheme. This is typically used with Linux 3.10 kernels and later. If set to **autodetect**, the emulator will automatically detect whether the kernel requires a new device naming scheme.|autodetect, yes, no|
|`kernel.parameters`|**Kernel parameters** &ndash; Specifies the string of Linux kernel boot parameters. By default, this setting is left blank.||
|`kernel.path`|**Kernel path** &ndash; Specifies the path to the Linux kernel. If this path is not specified, the emulator looks in the emulator system directory for kernel-ranchu.||
|`kernel.supportsYaffs2`|**YAFFS2 partition support** &ndash; Determines whether the kernel supports YAFFS2 (Yet Another Flash File System 2) partitions. Typically, this applies only to kernels before Linux 3.10. If set to **autodetect** the emulator will automatically detect whether the kernel can mount YAFFS2 file systems.|autodetect, yes, no|
|`skin.name`|**Skin name** &ndash; The name for an Android emulator skin. A skin is a collection of files that defines the visual and control elements of an emulator display; it describes what the window of the AVD will look like on your development computer. A skin describes screen size, buttons, and the overall design, but it does not affect the operation of your app.||
|`skin.path`|**Skin path** &ndash; Path to the directory that contains the emulator skin files specified in skin.name This directory contains hardware.ini layout files, and image files for the display elements of the skin.||
|`skin.dynamic`|**Skin dynamic** &ndash; Whether or not the skin is dynamic. The emulator skin is a dynamic skin if the emulator is to construct a skin of a given size based on a specified width and height.|no|

Просмотреть файл

@ -1,293 +0,0 @@
<table width="100%" border="1px">
<tr>
<td><b>Property</b></td>
<td><b>Description</b></td>
<td><b>Options</b></td>
</tr>
<tr>
<td><code> abi.type </code></td>
<td><strong>ABI type</strong> &ndash; Specifies the ABI (application binary interface) type of the emulated device. The <code>x86</code> option is for the instruction set commonly referred to as "x86" or "IA-32." The <code>x86_64</code> option is for the 64-bit x86 instruction set. The <code>armeabi-v7a</code> option is for the ARM instruction set with v7-a ARM extensions. The <code>arm64-v8a</code> option is for the ARM instruction set that supports AArch64. </td>
<td> x86, x86_64, armeabi-v7a, arm64-v8a </td>
</tr>
<tr>
<td><code> disk.cachePartition </code></td>
<td><strong>Cache partition</strong> &ndash; Determines whether the emulated device will use a <strong>/cache</strong> partition on the device. The <strong>/cache</strong> partition (which is initially empty) is the location where Android stores frequently accessed data and app components. If set to <code>no</code>, the emulator will not use a <strong>/cache</strong> partition and the other <code>disk.cache</code> settings will be ignored. </td>
<td> yes, no </td>
</tr>
<tr>
<td><code> disk.cachePartition.path </code></td>
<td><strong>Cache partition path</strong> &ndash; Specifies a cache partition image file on your development computer. The emulator will use this file for the <strong>/cache</strong> partition. Enter an absolute path or a path relative to the emulator's <strong>data</strong> directory. If not set, the emulator creates an empty temporary file called <strong>cache.img</strong> on your development computer. If the file does not exist, it is created as an empty file. This option is ignored if <code>disk.cachePartition</code> is set to <code>no</code>. </td>
<td> </td>
</tr>
<tr>
<td><code> disk.cachePartition.size </code></td>
<td><strong>Cache partition size</strong> &ndash; The size of the cache partition file (in megabytes). Normally you do not need to set this option unless the app will be downloading very large files that are larger than the default cache size of 66 megabytes. This option is ignored if <code>disk.cachePartition</code> is set to <code>no</code>.</td>
<td> </td>
</tr>
<tr>
<td><code> disk.dataPartition.initPath </code></td>
<td><strong>Initial path to the data partition</strong> &ndash; Specifies the initial contents of the data partition. After wiping user data, the emulator copies the contents of the specified file to user data (by default, <strong>userdata-qemu.img</strong>) instead of using <strong>userdata.img</strong> as the initial version. </td>
<td> </td>
</tr>
<tr>
<td><code> disk.dataPartition.path </code></td>
<td><strong>Path to the data partition</strong> &ndash; Specifies the user data partition file. To configure a persistent user data file, enter a filename and a path on your development computer. If the file doesn't exist, the emulator creates an image from the default file <strong>userdata.img</strong>, stores it in the filename specified by <code>disk.dataPartition.path</code>, and persists user data to it when the emulator shuts down. If you don't specify a path, the default file is named <strong>userdata-qemu.img</strong>. The special value <code>&lt;temp&gt;</code> causes the emulator to create and use a temporary file. If <code>disk.dataPartition.initPath</code> is set, its content will be copied to the <code>disk.dataPartition.path</code> file at boot-time. Note that this option cannot be left blank. </td>
<td> </td>
</tr>
<tr>
<td><code> disk.dataPartition.size </code></td>
<td><strong>Data partition size</strong> &ndash; Specifies the size of the user data partition in megabytes. </td>
<td> </td>
</tr>
<tr>
<td><code> disk.ramdisk.path </code></td>
<td><strong>Ramdisk path</strong> &ndash; Path to the boot partition (ramdisk) image. The ramdisk image is a subset of the system image that is loaded by the kernel before the system image is mounted. The ramdisk image typically contains boot-time binaries and initialization scripts. If this option is not specified, the default is <strong>ramdisk.img</strong> in the emulator system directory. </td>
<td> </td>
</tr>
<tr>
<td><code> disk.snapStorage.path </code></td>
<td><strong>Snapshot storage path</strong> &ndash; Path to the <i>snapshot storage file</i> where all snapshots are stored. All snapshots made during execution will be saved to this file. Only snapshots that are saved to this file can be restored during the emulator run. If this option is not specified, the default is <strong>snapshots.img</strong> in the emulator data directory. </td>
<td> </td>
</tr>
<tr>
<td><code> disk.systemPartition.initPath </code></td>
<td><strong>System partition init path</strong> &ndash; Path to the read-only copy of the system image file; specifically, the partition containing the system libraries and data corresponding to the API level and any variant. If this path is not specified, the default is <strong>system.img</strong> in the emulator system directory. </td>
<td> </td>
</tr>
<tr>
<td><code> disk.systemPartition.path </code></td>
<td><strong>System partition path</strong> &ndash; Path to the read/write system partition image. If this path is not set, a temporary file will be created and initialized from the contents of the file specified by <code>disk.systemPartition.initPath</code>. </td>
<td> </td>
</tr>
<tr>
<td><code> disk.systemPartition.size </code></td>
<td><strong>System partition size</strong> &ndash; The ideal size of the system partition (in megabytes). The size is ignored if the actual system partition image is larger than this setting; otherwise, it specifies the maximum size that the system partition file can grow to. </td>
<td> </td>
</tr>
<tr>
<td><code> hw.accelerometer </code></td>
<td><strong>Accelerometer</strong> &ndash; Determines whether the emulated device contains an accelerometer sensor. The accelerometer helps the device determine orientation (used for auto-rotation). The accelerometer reports the acceleration of the device along three sensor axes. </td>
<td> yes, no </td>
</tr>
<tr>
<td><code> hw.audioInput </code></td>
<td><strong>Audio recording support</strong> &ndash; Determines whether the emulated device can record audio. </td>
<td> yes, no </td>
</tr>
<tr>
<td><code> hw.audioOutput </code></td>
<td><strong>Audio playback support</strong> &ndash; Determines whether the emulated device can play audio. </td>
<td> yes, no </td>
</tr>
<tr>
<td><code> hw.battery </code></td>
<td><strong>Battery support</strong> &ndash; Determines whether the emulated device can run on a battery. </td>
<td> yes, no </td>
</tr>
<tr>
<td><code> hw.camera </code></td>
<td><strong>Camera support</strong> &ndash; Determines whether the emulated device has a camera. </td>
<td> yes, no </td>
</tr>
<tr>
<td><code> hw.camera.back </code></td>
<td><strong>Back-facing camera</strong> &ndash; Configures the back-facing camera (the lens faces away from the user). If you are using a webcam on your development computer to simulate the back-facing camera on the emulated device, this value must be set to <code>webcam<i>n</i></code>, where <i>n</i> selects the webcam (if you have only one webcam, choose <code>webcam0</code>). If set to <code>emulated</code>, the emulator simulates the camera in software. To disable the back-facing camera, set this value to <code>none</code>. If you enable the back-facing camera, be sure to also enable <code>hw.camera</code>. </td>
<td> emulated, none, webcam0 </td>
</tr>
<tr>
<td><code> hw.camera.front </code></td>
<td><strong>Front-facing camera</strong> &ndash; Configures the front-facing camera (the lens faces towards the user). If you are using a webcam on your development computer to simulate the front-facing camera on the emulated device, this value must be set to <code>webcam<i>n</i></code>, where <i>n</i> selects the webcam (if you have only one webcam, choose <code>webcam0</code>). If set to <code>emulated</code>, the emulator simulates a camera in software. To disable the front-facing camera, set this value to <code>none</code>. If you enable the front-facing camera, be sure to also enable <code>hw.camera</code>. </td>
<td> emulated, none, webcam0 </td>
</tr>
<tr>
<td><code> hw.camera.maxHorizontalPixels </code></td>
<td><strong>Maximum horizontal camera pixels</strong> &ndash; Configures the maximum horizontal resolution of the emulated device's camera (in pixels). </td>
<td> </td>
</tr>
<tr>
<td><code> hw.camera.maxVerticalPixels </code></td>
<td><strong>Maximum vertical camera pixels</strong> &ndash; Configures the maximum vertical resolution of the emulated device's camera (in pixels). </td>
<td> </td>
</tr>
<tr>
<td><code> hw.cpu.arch </code></td>
<td><strong>CPU architecture</strong> &ndash; The CPU architecture to be emulated by the virtual device. If you are using Intel HAXM for hardware acceleration, select <code>x86</code> for a 32-bit CPU. Select <code>x86_64</code> for a 64-bit HAXM-accelerated device. (Be sure to install the corresponding Intel x86 system image in the SDK Manager: for example, <strong>Intel x86 Atom</strong> or <strong>Intel x86 Atom_64</strong>.) To simulate an ARM CPU, select <code>arm</code> for 32-bit or select <code>arm64</code> for a 64-bit ARM CPU. Keep in mind that ARM-based virtual devices will run much slower than those that are x86-based because hardware acceleration is not available for ARM. </td>
<td> x86, x86_64, arm, arm64 </td>
</tr>
<tr>
<td><code> hw.cpu.model </code></td>
<td><strong>CPU model</strong> &ndash; This value is normally left unset (it will be set to a value that is derived from <code>hw.cpu.arch</code> if it is not explicitly set). However, it can be set to an emulator-specific string for experimental use. </td>
<td> </td>
</tr>
<tr>
<td><code> hw.dPad </code></td>
<td><strong>DPad keys</strong> &ndash; Determines whether the emulated device supports directional pad (DPad) keys. A DPad typically has four keys to indicate directional control. </td>
<td> yes, no </td>
</tr>
<tr>
<td><code> hw.gps </code></td>
<td><strong>GPS support</strong> &ndash; Determines whether the emulated device has a GPS (Global Positioning System) receiver. </td>
<td> yes, no </td>
<tr>
</tr>
<tr>
<td><code> hw.gpu.enabled </code></td>
<td><strong>GPU emulation</strong> &ndash; Determines whether the emulated device supports GPU emulation. When enabled, GPU emulation uses Open GL for Embedded Systems (OpenGL ES) for rendering both 2D and 3D graphics on the screen, and the associated GPU Emulation Mode setting determines how the GPU emulation is implemented. </td>
<td> yes, no </td>
</tr>
<tr>
<td><code> hw.gpu.mode </code></td>
<td><strong>GPU emulation mode</strong> &ndash; Determines how GPU emulation is implemented by the emulator. If you select <code>auto</code>, the emulator will choose hardware and software acceleration based on your development computer setup. If you select <code>host</code>, the emulator will use your development computer's graphics processor to perform GPU emulation for faster rendering. If your GPU is not compatible with the emulator and you are on Windows, you can try <code>angle</code> instead of <code>host</code>. The <code>angle</code> mode uses DirectX to provide performance similar to <code>host</code>. If you select <code>mesa</code>, the emulator will use the Mesa 3D software library to render graphics. Select <code>mesa</code> if you have problems rendering via your development computer's graphics processor. The <code>swiftshader</code> mode can be used to render graphics in software with slightly less performance than using your computer's GPU. The <code>off</code> option (disable graphics hardware emulation) is a deprecated option that can cause improper rendering for some items and is therefore not recommended. </td>
<td> auto, host, mesa, angle, swiftshader, off </td>
</tr>
<tr>
<td><code> hw.gsmModem </code></td>
<td><strong>GSM modem support</strong> &ndash; Determines whether the emulated device includes a modem that supports the GSM (Global System for Mobile Communications) telephony radio system. </td>
<td> yes, no </td>
</tr>
<tr>
<td><code> hw.initialOrientation </code></td>
<td><strong>Initial screen orientation</strong> &ndash; Configures the initial orientation of the screen on the emulated device (portrait or landscape mode). In portrait mode, the screen is taller than it is wide. In landscape mode, the screen is wider than it is tall. When running the emulated device, you can change the orientation if both portrait and landscape are supported in the device profile. </td>
<td> portrait, landscape </td>
</tr>
<tr>
<td><code> hw.keyboard </code></td>
<td><strong>Keyboard support</strong> &ndash; Determines whether the emulated device supports a QWERTY keyboard. </td>
<td> yes, no </td>
</tr>
<tr>
<td><code> hw.keyboard.charmap </code></td>
<td><strong>Keyboard charmap name</strong> &ndash; The name of the hardware charmap for this device. NOTE: This should always be the default <code>qwerty2</code> unless you have modified the system image accordingly. This name is sent to the kernel at boot time. Using an incorrect name will result in an unusable virtual device. </td>
<td> </td>
</tr>
<tr>
<td><code> hw.keyboard.lid </code></td>
<td><strong>Keyboard lid support</strong> &ndash; If keyboard support is enabled, this setting determines whether the QWERTY keyboard can be closed/hidden or opened/visible. This setting will be ignored if <code>hw.keyboard</code> is set to <code>false</code>. NOTE: the default value is <code>false</code> if the emulated device targets API level 12 or higher. </td>
<td> yes, no </td>
</tr>
<tr>
<td><code> hw.lcd.backlight </code></td>
<td><strong>LCD backlight</strong> &ndash; Determines whether an LCD backlight is simulated by the emulated device. </td>
<td> yes, no </td>
</tr>
<tr>
<td><code> hw.lcd.density </code></td>
<td><strong>LCD density</strong> &ndash; The density of the emulated LCD display, measured in density-independent pixels, or <i>dp</i> (dp is a virtual pixel unit). When the setting is 160 dp, each dp corresponds to one physical pixel. At runtime, Android uses this value to select and scale the appropriate resources/assets for correct display rendering. </td>
<td> 120, 160, 240, 213, 320 </td>
</tr>
<tr>
<td><code> hw.lcd.depth </code></td>
<td><strong>LCD color depth</strong> &ndash; The color bit-depth of the emulated framebuffer that holds the bitmap for driving the LCD display. This value can be 16 bits (65,536 possible colors) or 32 bits (16,777,216 colors plus transparency). The 32-bit setting can make the emulator run slightly slower but with better color accuracy. </td>
<td> 16, 32 </td>
</tr>
<tr>
<td><code> hw.lcd.height </code></td>
<td><strong>LCD pixel height</strong> &ndash; The number of pixels that make up the vertical dimension of the emulated LCD display. </td>
<td> </td>
</tr>
<tr>
<td><code> hw.lcd.width </code></td>
<td><strong>LCD pixel width</strong> &ndash; The number of pixels that make up the horizontal dimension of the emulated LCD display. </td>
<td> </td>
</tr>
<tr>
<td><code> hw.mainKeys </code></td>
<td><strong>Hardware Back/Home keys</strong> &ndash; Determines whether the emulated device supports hardware Back and Home navigation buttons. You can set this value to <code>yes</code> if the buttons are implemented only in software. If <code>hw.mainKeys</code> is set to <code>yes</code>, the emulator will not display navigation buttons on the screen, but you can use the emulator side panel to "press" these buttons. </td>
<td> yes, no </td>
</tr>
<tr>
<td><code> hw.ramSize </code></td>
<td><strong>Device RAM Size</strong> &ndash; The amount of physical RAM on the emulated device, in megabytes. The default value will be computed from the screen size or the skin version. Increasing the size can provide faster emulator operation, but at the expense of demanding more resources from your development computer. </td>
<td> </td>
</tr>
<tr>
<td><code> hw.screen </code></td>
<td><strong>Touch screen type</strong> &ndash; Defines the type of screen on the emulated device. A <code>multi-touch</code> screen can track two or more fingers on the touch interface. A <code>touch</code> screen can detect only single-finger touch events. A <code>no-touch</code> screen does not detect touch events. </td>
<td> touch, multi-touch, no-touch </td>
</tr>
<tr>
<td><code> hw.sdCard </code></td>
<td><strong>SDCard support</strong> &ndash; Determines whether the emulated device supports insertion and removal of virtual SD (Secure Digital) cards. The emulator uses mountable disk images stored on your development computer to simulate the partitions of actual SD card devices (see <code>hw.sdCard.path</code>). </td>
<td> yes, no </td>
</tr>
<tr>
<td><code> sdcard.size </code></td>
<td><strong>SDCard size</strong> &ndash; Specifies the size of the virtual SD card file at the location specified by <code>hw.sdCard.path</code>. available on the device (in bytes). If the size is a simple integer, it specifies the size in bytes. You can also specify the size in kilobytes, megabytes, and gigabytes by appending K, M, or G to the size. The minimum size is 9M and the maximum size is 1023G. </td>
<td> </td>
</tr>
<tr>
<td><code> hw.sdCard.path </code></td>
<td><strong>SDCard Image Path</strong> &ndash; Specifies the filename and path to an SD card partition image file on your development computer. For example, this path could be set to <strong>C:\sd\sdcard.img</strong> on Windows. </td>
<td> </td>
</tr>
<tr>
<td><code> hw.sensors.magnetic_field </code></td>
<td><strong>Magnetic Field Sensor</strong> &ndash; Determines whether the emulated device supports a magnetic field sensor. The magnetic field sensor (also known as magnetometer) reports the ambient geomagnetic field as measured along three sensor axes. Enable this setting for apps that need access to a compass reading. For example, a navigation app might use this sensor to detect which direction the user faces. </td>
<td> yes, no </td>
</tr>
<tr>
<td><code> hw.sensors.orientation </code></td>
<td><strong>Orientation Sensor</strong> &ndash; Determines whether the emulated device provides orientation sensor values. The orientation sensor measures degrees of rotation that a device makes around all three physical axes (x, y, z). Note that the orientation sensor was deprecated as of Android 2.2 (API level 8). </td>
<td> yes, no </td>
</tr>
<tr>
<td><code> hw.sensors.proximity </code></td>
<td><strong>Proximity Sensor</strong> &ndash; Determines whether the emulated device supports a proximity sensor. This sensor measures the proximity of an object relative to the view screen of a device. This sensor is typically used to determine whether a handset is being held up to a person's ear. </td>
<td> yes, no </td>
</tr>
<tr>
<td><code> hw.sensors.temperature </code></td>
<td><strong>Temperature Sensor</strong> &ndash; Determines whether the emulated device supports a temperature sensor. This sensor measures the temperature of the device in degrees Celsius (&deg;C). </td>
<td> yes, no </td>
</tr>
<tr>
<td><code> hw.touchScreen </code></td>
<td><strong>Touch-screen support</strong> &ndash; Determines whether the emulated device supports a touch screen. The touch screen is used for direct manipulation of objects on the screen. </td>
<td> yes, no </td>
</tr>
<tr>
<td><code> hw.trackBall </code></td>
<td><strong>Trackball support</strong> &ndash; Determines whether the emulated device supports a trackball. </td>
<td> yes, no </td>
</tr>
<tr>
<td><code> hw.useext4 </code></td>
<td><strong>EXT4 file system support</strong> &ndash; Determines whether the emulated device uses the Linux EXT4 file system for partitions. Because the file system type is now auto-detected, this option is deprecated and ignored. </td>
<td> no </td>
</tr>
<tr>
<td><code> kernel.newDeviceNaming </code></td>
<td><strong>Kernel new device naming</strong> &ndash; Used to specify whether the kernel requires a new device naming scheme. This is typically used with Linux 3.10 kernels and later. If set to <code>autodetect</code>, the emulator will automatically detect whether the kernel requires a new device naming scheme. </td>
<td> autodetect, yes, no </td>
</tr>
<tr>
<td><code> kernel.parameters </code></td>
<td><strong>Kernel parameters</strong> &ndash; Specifies the string of Linux kernel boot parameters. By default, this setting is left blank. </td>
<td> </td>
</tr>
<tr>
<td><code> kernel.path </code></td>
<td><strong>Kernel path</strong> &ndash; Specifies the path to the Linux kernel. If this path is not specified, the emulator looks in the emulator system directory for <code>kernel-ranchu</code>. </td>
<td> </td>
</tr>
<tr>
<td><code> kernel.supportsYaffs2 </code></td>
<td><strong>YAFFS2 partition support</strong> &ndash; Determines whether the kernel supports YAFFS2 (Yet Another Flash File System 2) partitions. Typically, this applies only to kernels before Linux 3.10. If set to <code>autodetect</code> the emulator will automatically detect whether the kernel can mount YAFFS2 file systems. </td>
<td> autodetect, yes, no </td>
</tr>
<tr>
<td><code> skin.name </code></td>
<td><strong>Skin name</strong> &ndash; The name for an Android emulator skin. A skin is a collection of files that defines the visual and control elements of an emulator display; it describes what the window of the AVD will look like on your development computer. A skin describes screen size, buttons, and the overall design, but it does not affect the operation of your app. </td>
<td> </td>
</tr>
<tr>
<td><code> skin.path </code></td>
<td><strong>Skin path</strong> &ndash; Path to the directory that contains the emulator skin files specified in <code>skin.name</code> This directory contains <code>hardware.ini</code> layout files, and image files for the display elements of the skin. </td>
<td> </td>
</tr>
<tr>
<td><code> skin.dynamic </code></td>
<td><strong>Skin dynamic</strong> &ndash; Whether or not the skin is dynamic. The emulator skin is a dynamic skin if the emulator is to construct a skin of a given size based on a specified width and height. </td>
<td> no </td>
</tr>
</table>

Просмотреть файл

@ -6,7 +6,7 @@ ms.assetid: 7EBE4C01-8EFC-4B7E-97BA-D879994F59AB
ms.technology: xamarin-android
author: mgmclemore
ms.author: mamcle
ms.date: 02/16/2018
ms.date: 03/13/2018
---
# Xamarin.Android Errors Matrix
@ -15,196 +15,155 @@ ms.date: 02/16/2018
This document provides some information on the various error codes from Xamarin.
<table>
<thead>
<tr>
<td>Category</td>
<td>Description</td>
</tr>
</thead>
<tbody>
<tr><td>XA0xxx</td><td><code>mandroid</code> Errors</td></tr>
<tr><td>XA1xxx</td><td>File copy / symlinks (project related) Errors</td></tr>
<tr><td>XA2xxx</td><td>Linker Errors</td></tr>
<tr><td>XA3xxx</td><td>AOT Errors</td></tr>
<tr><td>XA4xxx</td><td>Code Generation Errors</td></tr>
<tr><td>XA5xxx</td><td>GCC and Toolchain Errors</td></tr>
<tr><td>XA6xxx</td><td><code>mandroid</code> Internal Tools errors</td></tr>
<tr><td>XA7xxx</td><td>Reserved</td></tr>
<tr><td>XA8xxx</td><td>Reserved</td></tr>
<tr><td>XA9xxx</td><td>Licensing Errors</td></tr>
</tbody>
</table>
|Category|Description|
|--- |--- |
|XA0xxx|mandroid Errors|
|XA1xxx|File copy / symlinks (project related) Errors|
|XA2xxx|Linker Errors|
|XA3xxx|AOT Errors|
|XA4xxx|Code Generation Errors|
|XA5xxx|GCC and Toolchain Errors|
|XA6xxx|mandroid Internal Tools errors|
|XA7xxx|Reserved|
|XA8xxx|Reserved|
|XA9xxx|Licensing Errors|
## Error Codes
### XA0xxx Errors
<table>
<thead>
<tr><td>Error Code</td><td>Description</td></tr>
</thead>
<tbody>
<tr><td>XA0000</td><td>Unexpected error - Please fill a bug report at <a href="http://bugzilla.xamarin.com">http://bugzilla.xamarin.com</a></td></tr>
<tr><td>XA0001</td><td>'-devname was provided without any device-specific action</td></tr>
<tr><td>XA0002</td><td>Could not parse the environment variable '{0}'.</td></tr>
<tr><td>XA0003</td><td>Application name '{0}.exe' conflicts with an SDK or product assembly (.dll) name.</td></tr>
<tr><td>XA0004</td><td>New refcounting logic requires sgen to be enabled too.</td></tr>
<tr><td>XA0005</td><td>The output directory '{0}' does not exist</td></tr>
<tr><td>XA0006</td><td>There is no devel platform at '{0}', use --platform=PLAT to specify the SDK</td></tr>
<tr><td>XA0007</td><td>The root assembly '{0}' does not exist</td></tr>
<tr><td>XA0008</td><td>You should provide one root assembly only</td></tr>
<tr><td>XA0009</td><td>Error while loading assemblies: {0}</td></tr>
<tr><td>XA0010</td><td>Could not parse the command line arguments: {0}</td></tr>
<tr><td>XA0011</td><td>{0} was built against a more recent runtime ({1}) than MonoTouch supports</td></tr>
<tr><td>XA0012</td><td>Incomplete data is provided to complete `{0}`.</td></tr>
<tr><td>XA0013</td><td>Profiling support requires sgen to be enabled too</td></tr>
<tr><td>XA0014</td><td>iOS {0} does not support building applications targeting ARMv6</td></tr>
<tr><td>XA0020</td><td>Could not determine mandroid path.</td></tr>
<tr><td>XA0100</td><td>EmbeddedNativeLibrary '{0}' is invalid in Android Application project. Please use AndroidNativeLibrary instead.</td></tr>
</tbody>
</table>
|Error Code|Description|
|--- |--- |
|XA0000|Unexpected error - Please fill a [bug report](http://bugzilla.xamarin.com).|
|XA0001|'-devname was provided without any device-specific action.|
|XA0002|Could not parse the environment variable '{0}'.|
|XA0003|Application name '{0}.exe' conflicts with an SDK or product assembly (.dll) name.|
|XA0004|New refcounting logic requires sgen to be enabled too.|
|XA0005|The output directory '{0}' does not exist.|
|XA0006|There is no devel platform at '{0}', use --platform=PLAT to specify the SDK|
|XA0007|The root assembly '{0}' does not exist.|
|XA0008|You should provide one root assembly only.|
|XA0009|Error while loading assemblies: {0}.|
|XA0010|Could not parse the command line arguments: {0}.|
|XA0011|{0} was built against a more recent runtime ({1}) than MonoTouch supports.|
|XA0012|Incomplete data is provided to complete '{0}'.|
|XA0013|Profiling support requires sgen to be enabled too.|
|XA0014|iOS {0} does not support building applications targeting ARMv6.|
|XA0020|Could not determine mandroid path.|
|XA0100|EmbeddedNativeLibrary '{0}' is invalid in Android Application project. Please use AndroidNativeLibrary instead.|
### XA1xxx Errors
<table>
<thead>
<tr><td>Error Code</td><td>Description</td></tr>
</thead>
<tbody>
<tr><td>XA1001</td><td>Could not find an application at the specified directory</td></tr>
<tr><td>XA1002</td><td>Could not create symlinks, files were copied</td></tr>
<tr><td>XA1003</td><td>Could not kill the application '{0}'. You may have to kill the application manually.</td></tr>
<tr><td>XA1004</td><td>Could not get the list of installed applications.</td></tr>
<tr><td>XA1005</td><td>Could not kill the application '{0}' on the device '{1}': {2}. You may have to kill the application manually.</td></tr>
<tr><td>XA1006</td><td>Could not install the application '{0}' on the device '{1}': {2}.</td></tr>
<tr><td>XA1007</td><td>Failed to launch the application '{0}' on the device '{1}': {2}. You can still launch the application manually by tapping on it.</td></tr>
<tr><td>XA1008</td><td>Failed to launch the simulator: {0}</td></tr>
<tr><td>XA1009</td><td>Could not copy the assembly '{0}' to '{1}': {2}</td></tr>
<tr><td>XA1010</td><td>Could not load the assembly '{0}': {1}</td></tr>
<tr><td>XA1011</td><td>Could not add missing resource file: '{0}'</td></tr>
<tr><td>XA1101</td><td>Could not start app</td></tr>
<tr><td>XA1102</td><td>Could not attach to the app (to kill it): {0}</td></tr>
<tr><td>XA1103</td><td>Could not detach</td></tr>
<tr><td>XA1104</td><td>Failed to send packet: {0}</td></tr>
<tr><td>XA1105</td><td>Unexpected response type</td></tr>
<tr><td>XA1106</td><td>Could not get list of applications on the device: Request timed out.</td></tr>
<tr><td>XA1107</td><td>Application failed to launch</td></tr>
<tr><td>XA1201</td><td>Could not load the simulator: {0}</td></tr>
<tr><td>XA1301</td><td>Native library `{0}` ({1}) was ignored since it does not match the current build architecture(s) ({2})</td></tr>
</tbody>
</table>
|Error Code|Description|
|--- |--- |
|XA1001|Could not find an application at the specified directory.|
|XA1002|Could not create symlinks, files were copied.|
|XA1003|Could not kill the application '{0}'. You may have to kill the application manually.|
|XA1004|Could not get the list of installed applications.|
|XA1005|Could not kill the application '{0}' on the device '{1}': {2}. You may have to kill the application manually.|
|XA1006|Could not install the application '{0}' on the device '{1}': {2}.|
|XA1007|Failed to launch the application '{0}' on the device '{1}': {2}. You can still launch the application manually by tapping on it.|
|XA1008|Failed to launch the simulator: {0}.|
|XA1009|Could not copy the assembly '{0}' to '{1}': {2}.|
|XA1010|Could not load the assembly '{0}': {1}.|
|XA1011|Could not add missing resource file: '{0}'.|
|XA1101|Could not start app.|
|XA1102|Could not attach to the app (to kill it): {0}.|
|XA1103|Could not detach.|
|XA1104|Failed to send packet: {0}.|
|XA1105|Unexpected response type.|
|XA1106|Could not get list of applications on the device: Request timed out.|
|XA1107|Application failed to launch.|
|XA1201|Could not load the simulator: {0}.|
|XA1301|Native library '{0}' ({1}) was ignored since it does not match the current build architecture(s) ({2}).|
### XA2xxx Errors
<table>
<thead>
<tr><td>Error Code</td><td>Description</td></tr>
</thead>
<tbody>
<tr><td>XA2001</td><td>Could not link assemblies</td></tr>
<tr><td>XA2002</td><td>Can not resolve reference: {0}</td></tr>
<tr><td>XA2003</td><td>Option '{0}' will be ignored since linking is disabled</td></tr>
<tr><td>XA2004</td><td>Extra linker definitions file '{0}' could not be located.</td></tr>
<tr><td>XA2005</td><td>Definitions from '{0}' could not be parsed.</td></tr>
<tr><td>XA2006</td><td>Reference to metadata item '{0}' (defined in '{1}') from '{2}' could not be resolved.</td></tr>
</tbody>
</table>
|Error Code|Description|
|--- |--- |
|XA2001|Could not link assemblies.|
|XA2002|Can not resolve reference: {0}.|
|XA2003|Option '{0}' will be ignored since linking is disabled.|
|XA2004|Extra linker definitions file '{0}' could not be located.|
|XA2005|Definitions from '{0}' could not be parsed.|
|XA2006|Reference to metadata item '{0}' (defined in '{1}') from '{2}' could not be resolved.|
### XA3xxx Errors
These are AOT errors.
<table>
<thead>
<tr><td>Error Code</td><td>Description</td></tr>
</thead>
<tbody>
<tr><td>XA3001</td><td>Could not AOT the assembly '{0}'</td></tr>
<tr><td>XA3002</td><td>AOT restriction: Method '{0}' must be static since it is decorated with [MonoPInvokeCallback].</td></tr>
<tr><td>XA3003</td><td>Conflicting --debug and --llvm options. Soft-debugging is disabled.</td></tr>
</tbody>
</table>
|Error Code|Description|
|--- |--- |
|XA3001|Could not AOT the assembly '{0}'.|
|XA3002|AOT restriction: Method '{0}' must be static since it is decorated with [MonoPInvokeCallback].|
|XA3003|Conflicting --debug and --llvm options. Soft-debugging is disabled.|
### XA4xxx Errors
These are code generation errors.
<table>
<thead>
<tr><td>Error Code</td><td>Description</td></tr>
</thead>
<tbody>
<tr><td>XA4001</td><td>The main template could not be expansed to `{0}`.</td></tr>
<tr><td>XA4101</td><td>The registrar cannot build a signature for type `{0}`.</td></tr>
<tr><td>XA4102</td><td>The registrar found an invalid type `{0}` in signature for method `{2}`. Use `{1}` instead.</td></tr>
<tr><td>XA4103</td><td>The registrar found an invalid type `{0}` in signature for method `{2}`: The type implements INativeObject, but does not have a constructor that takes two (IntPtr, bool) arguments</td></tr>
<tr><td>XA4104</td><td>The registrar cannot marshal the return value for type `{0}` in signature for method `{1}`.</td></tr>
<tr><td>XA4105</td><td>The registrar cannot marshal the parameter of type `{0}` in signature for method `{1}`.</td></tr>
<tr><td>XA4106</td><td>The registrar cannot marshal the return value for structure `{0}` in signature for method `{1}`.</td></tr>
<tr><td>XA4107</td><td>The registrar cannot marshal the parameter of type `{0}` in signature for method `{1}`.</td></tr>
<tr><td>XA4108</td><td>The registrar cannot get the ObjectiveC type for managed type `{0}`.</td></tr>
<tr><td>XA4109</td><td>Failed to compile the generated registrar code. Please file a bug report at <a href="http://bugzilla.xamarin.com">http://bugzilla.xamarin.com</a></td></tr>
<tr><td>XA4110</td><td>The registrar cannot marshal the out parameter of type `{0}` in signature for method `{1}`.</td></tr>
<tr><td>XA4111</td><td>The registrar cannot build a signature for type `{0}' in method `{1}`.</td></tr>
<tr><td>XA4200</td><td>Can only generate ACW's for 'claas' types.</td></tr>
<tr><td>XA4201</td><td>Unable to determine JNI name for type {0}.</td></tr>
<tr><td>XA4203</td><td>The specified type name must be fully qualified.</td></tr>
<tr><td>XA4204</td><td>Unable to resolve interface type '{0}'. Are you missing an assembly reference?</td></tr>
<tr><td>XA4205</td><td>[ExportField] can only be used on methods with 0 parameters.</td></tr>
<tr><td>XA4206</td><td>[Export] cannot be used on a generic type.</td></tr>
<tr><td>XA4207</td><td>[ExportField] cannot be used on a generic type.</td></tr>
<tr><td>XA4208</td><td>[Java.Interop.ExportFieldAttribute] cannot be used on a method returning void.</td></tr>
<tr><td>XA4209</td><td>Failed to create JavaTypeInfo for class: {0} due to {1}</td></tr>
<tr><td>XA4210</td><td>You need to add a reference to Mono.Android.Export.dll when you use ExportAttribute or ExportFieldAttribute.</td></tr>
<tr><td>XA4211</td><td>AndroidManifest.xml //uses-sdk/@android:targetSdkVersion '{0}' is less than $(TargetFrameworkVersion) '{1}'. Using API-{1} for ACW compilation.</td></tr>
</tbody>
</table>
|Error Code|Description|
|--- |--- |
|XA4001|The main template could not be expansed to '{0}'.|
|XA4101|The registrar cannot build a signature for type '{0}'.|
|XA4102|The registrar found an invalid type '{0}' in signature for method '{2}'. Use '{1}' instead.|
|XA4103|The registrar found an invalid type '{0}' in signature for method '{2}': The type implements INativeObject, but does not have a constructor that takes two (IntPtr, bool) arguments.|
|XA4104|The registrar cannot marshal the return value for type '{0}' in signature for method '{1}'.|
|XA4105|The registrar cannot marshal the parameter of type '{0}' in signature for method '{1}'.|
|XA4106|The registrar cannot marshal the return value for structure '{0}' in signature for method '{1}'.|
|XA4107|The registrar cannot marshal the parameter of type '{0}' in signature for method '{1}'.|
|XA4108|The registrar cannot get the ObjectiveC type for managed type '{0}'.|
|XA4109|Failed to compile the generated registrar code. Please file a [bug report](http://bugzilla.xamarin.com).|
|XA4110|The registrar cannot marshal the out parameter of type '{0}' in signature for method '{1}'.|
|XA4111|The registrar cannot build a signature for type '{0}' in method '{1}'.|
|XA4200|Can only generate ACW's for 'claas' types.|
|XA4201|Unable to determine JNI name for type {0}.|
|XA4203|The specified type name must be fully qualified.|
|XA4204|Unable to resolve interface type '{0}'. Are you missing an assembly reference?|
|XA4205|[ExportField] can only be used on methods with 0 parameters.|
|XA4206|[Export] cannot be used on a generic type.|
|XA4207|[ExportField] cannot be used on a generic type.|
|XA4208|[Java.Interop.ExportFieldAttribute] cannot be used on a method returning void.|
|XA4209|Failed to create JavaTypeInfo for class: {0} due to {1}.|
|XA4210|You need to add a reference to Mono.Android.Export.dll when you use ExportAttribute or ExportFieldAttribute.|
|XA4211|AndroidManifest.xml //uses-sdk/@android:targetSdkVersion '{0}' is less than $(TargetFrameworkVersion) '{1}'. Using API-{1} for ACW compilation.|
### XA5xxx Errors
<table>
<thead>
<tr><td>Error Code</td><td>Description</td></tr>
</thead>
<tbody>
<tr><td>XA5101</td><td>Missing '{0}' compiler. Please install Android NDK.</td></tr>
<tr><td>XA5102</td><td>Conversion from assembly to native code failed. Please file a bug report at <a href="http://bugzilla.xamarin.com">http://bugzilla.xamarin.com</a></td></tr>
<tr><td>XA5103</td><td>Failed to compile the file '{0}'. Please file a bug report at <a href="http://bugzilla.com">http://bugzilla.xamarin.com</a></td></tr>
<tr><td>XA5201</td><td>Native linking failed. Please review user flags provided to gcc: {0}</td></tr>
<tr><td>XA5202</td><td>Native linking failed. Please review the build log.</td></tr>
<tr><td>XA5303</td><td>Native linking warning: {0}</td></tr>
<tr><td>XA5300</td><td>Android SDK not found or not fully installed.</td></tr>
<tr><td>XA5301</td><td>Missing 'strip' tool. Please install Xcode 'Command-Line Tools' component</td></tr>
<tr><td>XA5302</td><td>Missing 'dsymutil' tool. Please install Xcode 'Command-Line Tools' component</td></tr>
<tr><td>XA5203</td><td>Failed to generate the debug symbols (dSYM directory). Please review the build log.</td></tr>
<tr><td>XA5204</td><td>Failed to strip the final binary. Please review the build log.</td></tr>
<tr><td>XA5205</td><td>Missing 'aapt' tool. Please install the Android SDK Build-tools package.</td></tr>
<tr><td>XA5206</td><td>{0}. Android resource directory {1} doesn't exist.</td></tr>
<tr><td>XA5207</td><td>{0}. Java library file {1} doesn't exist.</td></tr>
<tr><td>XA5208</td><td>Download failed. Please download {0} and put it to the {1} directory.</td></tr>
<tr><td>XA5209</td><td>Unzipping failed. Please download {0} and extract it to the {1} directory.</td></tr>
<tr><td>XA5210</td><td>{0}. Native library file {1} doesn't exist.</td></tr>
</tbody>
</table>
|Error Code|Description|
|--- |--- |
|XA5101|Missing '{0}' compiler. Please install Android NDK.|
|XA5102|Conversion from assembly to native code failed. Please file a [bug report](http://bugzilla.xamarin.com).|
|XA5103|Failed to compile the file '{0}'. Please file a [bug report](http://bugzilla.xamarin.com).|
|XA5201|Native linking failed. Please review user flags provided to gcc: {0}|
|XA5202|Native linking failed. Please review the build log.|
|XA5303|Native linking warning: {0}.|
|XA5300|Android SDK not found or not fully installed.|
|XA5301|Missing 'strip' tool. Please install Xcode 'Command-Line Tools' component.|
|XA5302|Missing 'dsymutil' tool. Please install Xcode 'Command-Line Tools' component.|
|XA5203|Failed to generate the debug symbols (dSYM directory). Please review the build log.|
|XA5204|Failed to strip the final binary. Please review the build log.|
|XA5205|Missing 'aapt' tool. Please install the Android SDK Build-tools package.|
|XA5206|{0}. Android resource directory {1} doesn't exist.|
|XA5207|{0}. Java library file {1} doesn't exist.|
|XA5208|Download failed. Please download {0} and put it to the {1} directory.|
|XA5209|Unzipping failed. Please download {0} and extract it to the {1} directory.|
|XA5210|{0}. Native library file {1} doesn't exist.|
### XA6xxx Errors
<table>
<thead>
<tr><td>Error Code</td><td>Description</td></tr>
</thead>
<tbody>
<tr><td>XA6001</td><td>Running version of Cecil doesn't support assembly stripping</td></tr>
<tr><td>XA6002</td><td>Could not strip assembly `{0}`.</td></tr>
<tr><td>XA6003</td><td>UnauthorizedAccessException message]</td></tr>
</tbody>
</table>
|Error Code|Description|
|--- |--- |
|XA6001|Running version of Cecil doesn't support assembly stripping.|
|XA6002|Could not strip assembly '{0}'.|
|XA6003|UnauthorizedAccessException message.|
### XA9xxx Errors
This error codes are licensing and activation errors.
These error codes are licensing and activation errors.
#### XA9000
@ -213,27 +172,9 @@ This error codes are licensing and activation errors.
**Checked During:** Build
<table>
<thead>
<tr>
<th>Starter</th>
<th>Indie</th>
<th>Business(Trial)</th>
<th>Business</th>
<th>Enterprise</th>
</tr>
</thead>
<tbody>
<tr>
<td>WARNING</td>
<td>WARNING</td>
<td>WARNING</td>
<td>WARNING</td>
<td>WARNING</td>
</tr>
</tbody>
</table>
|Starter|Indie|Business(Trial)|Business|Enterprise|
|--- |--- |--- |--- |--- |
|WARNING|WARNING|WARNING|WARNING|WARNING|
#### XA9001
@ -242,26 +183,9 @@ This error codes are licensing and activation errors.
**Checked During:** Build
<table>
<thead>
<tr>
<th>Starter</th>
<th>Indie</th>
<th>Business(Trial)</th>
<th>Business</th>
<th>Enterprise</th>
</tr>
</thead>
<tbody>
<tr>
<td>WARNING</td>
<td>WARNING</td>
<td>WARNING</td>
<td>WARNING</td>
<td>WARNING</td>
</tr>
</tbody>
</table>
|Starter|Indie|Business(Trial)|Business|Enterprise|
|--- |--- |--- |--- |--- |
|WARNING|WARNING|WARNING|WARNING|WARNING|
@ -271,51 +195,17 @@ This error codes are licensing and activation errors.
**Checked During:** Build
<table>
<thead>
<tr>
<th>Starter</th>
<th>Indie</th>
<th>Business(Trial)</th>
<th>Business</th>
<th>Enterprise</th>
</tr>
</thead>
<tbody>
<tr>
<td>ERROR</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
</tr>
</tbody>
</table>
|Starter|Indie|Business(Trial)|Business|Enterprise|
|--- |--- |--- |--- |--- |
|ERROR|OK|OK|OK|OK|
**Cause:** AndroidJavaLibrary
**Checked During:** Build
<table>
<thead>
<tr>
<th>Starter</th>
<th>Indie</th>
<th>Business(Trial)</th>
<th>Business</th>
<th>Enterprise</th>
</tr>
</thead>
<tbody>
<tr>
<td>ERROR</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
</tr>
</tbody>
</table>
|Starter|Indie|Business(Trial)|Business|Enterprise|
|--- |--- |--- |--- |--- |
|ERROR|OK|OK|OK|OK|
**If a Binding assembly has the .jar embedded, then this is caught at Package time, not Build time.**
@ -323,27 +213,9 @@ This error codes are licensing and activation errors.
**Checked During:** Build
<table>
<thead>
<tr>
<th>Starter</th>
<th>Indie</th>
<th>Business(Trial)</th>
<th>Business</th>
<th>Enterprise</th>
</tr>
</thead>
<tbody>
<tr>
<td>ERROR</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
</tr>
</tbody>
</table>
|Starter|Indie|Business(Trial)|Business|Enterprise|
|--- |--- |--- |--- |--- |
|ERROR|OK|OK|OK|OK|
#### XA9003
@ -352,76 +224,25 @@ This error codes are licensing and activation errors.
**Checked During:** Package
<table>
<thead>
<tr>
<th>Starter</th>
<th>Indie</th>
<th>Business(Trial)</th>
<th>Business</th>
<th>Enterprise</th>
</tr>
</thead>
<tbody>
<tr>
<td>ERROR</td>
<td>ERROR</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
</tr>
</tbody>
</table>
|Starter|Indie|Business(Trial)|Business|Enterprise|
|--- |--- |--- |--- |--- |
|ERROR|ERROR|OK|OK|OK|
**Cause:** System.ServiceModel.Web
**Checked During:** Package
<table>
<thead>
<tr>
<th>Starter</th>
<th>Indie</th>
<th>Business(Trial)</th>
<th>Business</th>
<th>Enterprise</th>
</tr>
</thead>
<tbody>
<tr>
<td>ERROR</td>
<td>ERROR</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
</tr>
</tbody>
</table>
|Starter|Indie|Business(Trial)|Business|Enterprise|
|--- |--- |--- |--- |--- |
|ERROR|ERROR|OK|OK|OK|
**Cause:** Mono.Data.Tds
**Checked During:** Build
<table>
<thead>
<tr>
<th>Starter</th>
<th>Indie</th>
<th>Business(Trial)</th>
<th>Business</th>
<th>Enterprise</th>
</tr>
</thead>
<tbody>
<tr>
<td>ERROR</td>
<td>ERROR</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
</tr>
</tbody>
</table>
|Starter|Indie|Business(Trial)|Business|Enterprise|
|--- |--- |--- |--- |--- |
|ERROR|ERROR|OK|OK|OK|
**This is referenced by System.Data.dll, which is permitted**
@ -429,26 +250,9 @@ This error codes are licensing and activation errors.
**Checked During:** Build
<table>
<thead>
<tr>
<th>Starter</th>
<th>Indie</th>
<th>Business(Trial)</th>
<th>Business</th>
<th>Enterprise</th>
</tr>
</thead>
<tbody>
<tr>
<td>ERROR</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
</tr>
</tbody>
</table>
|Starter|Indie|Business(Trial)|Business|Enterprise|
|--- |--- |--- |--- |--- |
|ERROR|OK|OK|OK|OK|
@ -458,204 +262,80 @@ This error codes are licensing and activation errors.
**Checked During:** Package
<table>
<thead>
<tr>
<th>Starter</th>
<th>Indie</th>
<th>Business(Trial)</th>
<th>Business</th>
<th>Enterprise</th>
</tr>
</thead>
<tbody>
<tr>
<td>ERROR</td>
<td>ERROR</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
</tr>
</tbody>
</table>
|Starter|Indie|Business(Trial)|Business|Enterprise|
|--- |--- |--- |--- |--- |
|ERROR|ERROR|OK|OK|OK|
#### XA9005
**Cause:** Size limit (32kb)
**Cause:** Size limit (32kb).
**Checked During:** Package
<table>
<thead>
<tr>
<th>Starter</th>
<th>Indie</th>
<th>Business(Trial)</th>
<th>Business</th>
<th>Enterprise</th>
</tr>
</thead>
<tbody>
<tr>
<td>ERROR</td>
<td>OK</td>
<td>-</td>
<td>-</td>
<td>-</td>
</tr>
</tbody>
</table>
|Starter|Indie|Business(Trial)|Business|Enterprise|
|--- |--- |--- |--- |--- |
|ERROR|OK|-|-|-|
#### XA9006
**Cause:** System.Data.SqlClient namespace
**Cause:** System.Data.SqlClient namespace.
**Checked During:** Package
<table>
<thead>
<tr>
<th>Starter</th>
<th>Indie</th>
<th>Business(Trial)</th>
<th>Business</th>
<th>Enterprise</th>
</tr>
</thead>
<tbody>
<tr>
<td>ERROR</td>
<td>ERROR</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
</tr>
</tbody>
</table>
|Starter|Indie|Business(Trial)|Business|Enterprise|
|--- |--- |--- |--- |--- |
|ERROR|ERROR|OK|OK|OK|
#### XA9008
**Cause:** Building from command-line
**Cause:** Building from command-line.
**Checked During:** Build
<table>
<thead>
<tr>
<th>Starter</th>
<th>Indie</th>
<th>Business(Trial)</th>
<th>Business</th>
<th>Enterprise</th>
</tr>
</thead>
<tbody>
<tr>
<td>ERROR</td>
<td>ERROR</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
</tr>
</tbody>
</table>
|Starter|Indie|Business(Trial)|Business|Enterprise|
|--- |--- |--- |--- |--- |
|ERROR|ERROR|OK|OK|OK|
#### XA9009
**Cause:** Missing serial number
**Cause:** Missing serial number.
**Checked During:** Untestable
<table>
<thead>
<tr>
<th>Starter</th>
<th>Indie</th>
<th>Business(Trial)</th>
<th>Business</th>
<th>Enterprise</th>
</tr>
</thead>
<tbody>
<tr>
<td>ERROR</td>
<td>ERROR</td>
<td>ERROR</td>
<td>ERROR</td>
<td>ERROR</td>
</tr>
</tbody>
</table>
|Starter|Indie|Business(Trial)|Business|Enterprise|
|--- |--- |--- |--- |--- |
|ERROR|ERROR|ERROR|ERROR|ERROR|
#### XA9010
**Cause:** Invalid ProductId
**Cause:** Invalid ProductId.
**Checked During:** Build
<table>
<thead>
<tr>
<th>Starter</th>
<th>Indie</th>
<th>Business(Trial)</th>
<th>Business</th>
<th>Enterprise</th>
</tr>
</thead>
<tbody>
<tr>
<td>ERROR</td>
<td>ERROR</td>
<td>ERROR</td>
<td>ERROR</td>
<td>ERROR</td>
</tr>
</tbody>
</table>
|Starter|Indie|Business(Trial)|Business|Enterprise|
|--- |--- |--- |--- |--- |
|ERROR|ERROR|ERROR|ERROR|ERROR|
****Equivalent to XA9018
Equivalent to XA9018.
#### XA9011
**Cause:** Failed to update license file (to new file format)
**Cause:** Failed to update license file (to new file format).
**Checked During:** Activation
<table>
<thead>
<tr>
<th>Starter</th>
<th>Indie</th>
<th>Business(Trial)</th>
<th>Business</th>
<th>Enterprise</th>
</tr>
</thead>
<tbody>
<tr>
<td>ERROR</td>
<td>ERROR</td>
<td>ERROR</td>
<td>ERROR</td>
<td>ERROR</td>
</tr>
</tbody>
</table>
|Starter|Indie|Business(Trial)|Business|Enterprise|
|--- |--- |--- |--- |--- |
|ERROR|ERROR|ERROR|ERROR|ERROR|
#### XA9012
@ -663,27 +343,9 @@ This error codes are licensing and activation errors.
**Checked During:** Activation
<table>
<thead>
<tr>
<th>Starter</th>
<th>Indie</th>
<th>Business(Trial)</th>
<th>Business</th>
<th>Enterprise</th>
</tr>
</thead>
<tbody>
<tr>
<td>ERROR</td>
<td>ERROR</td>
<td>ERROR</td>
<td>ERROR</td>
<td>ERROR</td>
</tr>
</tbody>
</table>
|Starter|Indie|Business(Trial)|Business|Enterprise|
|--- |--- |--- |--- |--- |
|ERROR|ERROR|ERROR|ERROR|ERROR|
#### XA9013
@ -692,27 +354,9 @@ This error codes are licensing and activation errors.
**Checked During:** Activation
<table>
<thead>
<tr>
<th>Starter</th>
<th>Indie</th>
<th>Business(Trial)</th>
<th>Business</th>
<th>Enterprise</th>
</tr>
</thead>
<tbody>
<tr>
<td>ERROR</td>
<td>ERROR</td>
<td>ERROR</td>
<td>ERROR</td>
<td>ERROR</td>
</tr>
</tbody>
</table>
|Starter|Indie|Business(Trial)|Business|Enterprise|
|--- |--- |--- |--- |--- |
|ERROR|ERROR|ERROR|ERROR|ERROR|
#### XA9014
@ -721,55 +365,20 @@ This error codes are licensing and activation errors.
**Checked During:** Activation
<table>
<thead>
<tr>
<th>Starter</th>
<th>Indie</th>
<th>Business(Trial)</th>
<th>Business</th>
<th>Enterprise</th>
</tr>
</thead>
<tbody>
<tr>
<td>ERROR</td>
<td>ERROR</td>
<td>ERROR</td>
<td>ERROR</td>
<td>ERROR</td>
</tr>
</tbody>
</table>
|Starter|Indie|Business(Trial)|Business|Enterprise|
|--- |--- |--- |--- |--- |
|ERROR|ERROR|ERROR|ERROR|ERROR|
#### XA9017
**Cause:** Activation server doesn't return a valid license
**Cause:** Activation server doesn't return a valid license.
**Checked During:** Activation
<table>
<thead>
<tr>
<th>Starter</th>
<th>Indie</th>
<th>Business(Trial)</th>
<th>Business</th>
<th>Enterprise</th>
</tr>
</thead>
<tbody>
<tr>
<td>ERROR</td>
<td>ERROR</td>
<td>ERROR</td>
<td>ERROR</td>
<td>ERROR</td>
</tr>
</tbody>
</table>
|Starter|Indie|Business(Trial)|Business|Enterprise|
|--- |--- |--- |--- |--- |
|ERROR|ERROR|ERROR|ERROR|ERROR|
#### XA9018
@ -778,23 +387,7 @@ This error codes are licensing and activation errors.
**Checked During:** Build
<table>
<thead>
<tr>
<th>Starter</th>
<th>Indie</th>
<th>Business(Trial)</th>
<th>Business</th>
<th>Enterprise</th>
</tr>
</thead>
<tbody>
<tr>
<td>-</td>
<td>-</td>
<td>ERROR</td>
<td>-</td>
<td>-</td>
</tr>
</tbody>
</table>
|Starter|Indie|Business(Trial)|Business|Enterprise|
|--- |--- |--- |--- |--- |
|-|-|ERROR|-|-|

Просмотреть файл

@ -7,7 +7,7 @@ ms.assetid: 3BE4A128-2D88-4500-9E48-20375EA99A49
ms.technology: xamarin-android
author: mgmclemore
ms.author: mamcle
ms.date: 02/16/2018
ms.date: 03/13/2018
---
# Android Wear
@ -54,136 +54,25 @@ You can find a number of
directly to
[github](https://github.com/xamarin/monodroid-samples/tree/master/wear)).
<table align="center" border="1" cellpadding="1" cellspacing="1">
<thead>
<th>
<strong>Sample</strong>
</th>
<th>
<strong>Description</strong>
</th>
<th>
<strong>Screenshot</strong>
</th>
</thead>
<tbody>
<tr>
<td valign="top">
<a href="https://developer.xamarin.com/samples/SkeletonWear/">SkeletonWear</a>
</td>
<td valign="top">
A simple example of the basics of wearable projects,
including GridViewPager and interactive notifications.
</td>
<td>
<img src="Images/skeleton.png" class="tableimg">
</td>
</tr>
<tr>
<td valign="top">
<a href="https://developer.xamarin.com/samples/WatchViewStub/">WatchViewStub</a>
</td>
<td valign="top">
A simple demo of the WatchViewStub control that detects
screen shape and automatically loads the correct layout.
See how WatchViewStub works in the
<b>Resources/layout/main_actvity.xml</b> layout.
</td>
<td>
<img src="Images/watchview.png" class="tableimg">
</td>
</tr>
<tr>
<td valign="top">
<a href="https://developer.xamarin.com/samples/RecipeAssistant/">RecipeAssistant</a>
</td>
<td valign="top">
Demonstration of Wear notification pages, in the form of
recipe steps. Notifications are created in <b>RecipeService.cs</b>.
</td>
<td>
<img src="Images/recipeassist.png" class="tableimg">
</td>
</tr>
<tr>
<td valign="top">
<a href="https://developer.xamarin.com/samples/ElizaChat/">ElizaChat</a>
</td>
<td valign="top">
Fun sample of interacting with a "personal assistant"
called Eliza, using Wear interactive notifications to
create a conversation using canned responses.
</td>
<td>
<img src="Images/eliza.png" class="tableimg">
</td>
</tr>
<tr>
<td valign="top">
<a href="https://developer.xamarin.com/samples/GridViewPager/">GridViewPager</a>
</td>
<td valign="top">
GridViewPager implements the 2D navigation pattern, where
the user swipes vertically and then horizontally to navigate
through options and content.
</td>
<td>
<img src="Images/gridviewpager.png" class="tableimg">
</td>
</tr>
<tr>
<td valign="top">
<a href="https://developer.xamarin.com/samples/monodroid/wear/WatchFace">WatchFace</a>
</td>
<td valign="top">
<b>WatchFace</b> is a custom watch face with analog-style hour,
minute, and second hands. This sample demonstrates how
to create a watch face service that draws the
current time and handles ambient mode and visibility
change events. It includes a broadcast receiver that listens
for time zone changes and automatically updates the time
accordingly.
</td>
<td>
<img src="Images/watchface.png" class="tableimg">
</td>
</tr>
</tbody>
</table>
|Sample|Description|Screenshot|
|--- |--- |--- |
|[SkeletonWear](https://developer.xamarin.com/samples/SkeletonWear/)|A simple example of the basics of wearable projects, including GridViewPager and interactive notifications.|![Screenshot of Skeletonwear](images/skeleton.png)|
|[WatchViewStub](https://developer.xamarin.com/samples/WatchViewStub/)|A simple demo of the WatchViewStub control that detects screen shape and automatically loads the correct layout. See how WatchViewStub works in the **Resources/layout/main_actvity.xml** layout.|![Screenshot of WatchViewStub](images/watchview.png)|
|[RecipeAssistant](https://developer.xamarin.com/samples/RecipeAssistant/)|Demonstration of Wear notification pages, in the form of recipe steps. Notifications are created in RecipeService.cs.|![Screenshot of RecipeAssistant](images/recipeassist.png)|
|[ElizaChat](https://developer.xamarin.com/samples/ElizaChat/)|Fun sample of interacting with a "personal assistant" called Eliza, using Wear interactive notifications to create a conversation using canned responses.|![Screenshot of ElizaChat](images/eliza.png)|
|[GridViewPager](https://developer.xamarin.com/samples/GridViewPager/)|GridViewPager implements the 2D navigation pattern, where the user swipes vertically and then horizontally to navigate through options and content.|![Screenshot of GridViewPager](images/gridviewpager.png)|
|[WatchFace](https://developer.xamarin.com/samples/monodroid/wear/WatchFace)|WatchFace is a custom watch face with analog-style hour, minute, and second hands. This sample demonstrates how to create a watch face service that draws the current time and handles ambient mode and visibility change events. It includes a broadcast receiver that listens for time zone changes and automatically updates the time accordingly.|![Screenshot of WatchFace](images/gridviewpager.png)|
## Videos
Check out these video links that discuss Xamarin.Android with Wear support.
Check out these video links that discuss Xamarin.Android with Wear support:
<table align="center" border="0" cellpadding="1" cellspacing="1">
<tr>
<td>
<a href="http://blog.xamarin.com/webinar-recording-android-l-and-so-much-more/"><img src="Images/video-android-l.png" border="0" /></td>
<td><a href="http://blog.xamarin.com/webinar-recording-android-l-and-so-much-more/">Android L and So Much More</a>
<br />
The Android L Developer Preview introduced a plethora of new APIs
for developers to take advantage of, including Material Design,
notifications, and new animations, to name a few.</td>
</tr>
<tr>
<td>
<a href="https://www.youtube.com/watch?v=80H8tXByZQc"><img src="Images/video-eyes-ears.png" border="0" /></td>
<td><a href="https://www.youtube.com/watch?v=80H8tXByZQc">C# is in my Ears and in my Eyes: Google Glass and Android Wear</a>
<br />
Wearable computing might seem like something from the future
(or an Inspector Gadget episode), but many people are already
embracing the future today! C# developers know this and already
have the tools and skills to harness the power of wearable devices (from Evolve 2014).</td>
</tr>
<tr>
<td>
<a href="https://www.youtube.com/watch?v=Gpqc2XZIQfU"><img src="Images/video-whats-new.png" border="0" /></td>
<td><a href="https://www.youtube.com/watch?v=Gpqc2XZIQfU">What's new in Xamarin.Android</a>
<br />
<i>Android L, Android Wear, Android TV, Android Auto, Material Design, and ART;
what does this mean to you as a Xamarin developer?</i> from Evolve 2014.</td>
</tr>
</table>
|Description|Screenshot|
|--- |--- |
|[Android L and So Much More](http://blog.xamarin.com/webinar-recording-android-l-and-so-much-more/) &ndash; The Android L Developer Preview introduced a plethora of new APIs for developers to take advantage of, including Material Design, notifications, and new animations, to name a few.|![Video screenshot of presentation](images/video-android-l.png)|
|[C# is in my Ears and in my Eyes: Google Glass and Android Wear](https://www.youtube.com/watch?v=80H8tXByZQc) &ndash; Wearable computing might seem like something from the future (or an Inspector Gadget episode), but many people are already embracing the future today! C# developers know this and already have the tools and skills to harness the power of wearable devices (from Evolve 2014).|![Video screenshot of presentation](images/video-eyes-ears.png)|
|[What's new in Xamarin.Android](https://www.youtube.com/watch?v=Gpqc2XZIQfU) &ndash; Android L, Android Wear, Android TV, Android Auto, Material Design, and ART; what does this mean to you as a Xamarin developer? from Evolve 2014.|![Video screenshot of presentation](Images/video-whats-new.png)|
<!--