# ManagedVirtualDevice

# ManagedVirtualDevice

```
@Incubating interface ManagedVirtualDevice : Device
```

|----------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [com.android.build.api.dsl.ManagedVirtualDevice](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/dsl/ManagedVirtualDevice#) |

Device type for emulators to be managed by the Android Gradle Plugin.

When a device group containing this device is run for tests, Gradle will:

1. Automatically start up an emulator matching the device definition. Including downloading any and all required system image files and creating the avd.
2. Run the tests on this device.
3. Close the emulator upon completion.

These APIs are experimental and may change without notice.

## Summary

|                                                                                                                                               ### Properties                                                                                                                                               ||
|------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| abstract[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) | [abi](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/dsl/ManagedVirtualDevice#abi:kotlin.String) The application binary interface for the device image.                      |
| abstract[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)       | [apiLevel](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/dsl/ManagedVirtualDevice#apiLevel:kotlin.Int) The api level of Android to be run on the device.                    |
| abstract[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) | [device](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/dsl/ManagedVirtualDevice#device:kotlin.String) The hardware profile of the device to be emulated.                    |
| abstract[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) | [systemImageSource](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/dsl/ManagedVirtualDevice#systemImageSource:kotlin.String) Which source the system image should come from. |

## Properties

### abi

```
abstract var abi: String
```

The application binary interface for the device image.  

### apiLevel

```
abstract var apiLevel: Int
```

The api level of Android to be run on the device.

This will default to the target api level of the application.  

### device

```
abstract var device: String
```

The hardware profile of the device to be emulated.  

### systemImageSource

```
abstract var systemImageSource: String
```

Which source the system image should come from. Either "google" or "aosp"

"google", the default, will select Google Play images for the device. "aosp" will use aosp images for the device.