Awesome
AVD Plugin
This plugins provides a straightforward API to manage Android Virtual Devices.
You can easily use this plugin in your local development machine or in a CI/CD pipeline.
How to Install ?
On Linux
- Using
apt-get
:
$ sudo add-apt-repository ppa:athena-oss/athena
$ sudo apt-get update
$ sudo apt-get install athena-plugin-avd
On MAC OSX
- Using Homebrew :
$ brew tap athena-oss/tap
$ brew install plugin-avd
Alternative
$ athena plugins install avd https://github.com/athena-oss/plugin-avd.git
Read the Documentation on using the Athena AVD plugin.
How to Use ?
This plugin provides the following commands:
start - Starts the AVD
$ athena avd start <profile> [--help|<options>...]
$ # e.g. start one of the pre-defined devices
$ athena avd start wxga720-api-24
$ # e.g. start a pre-defined device and open a VNC at port 9001
$ athena avd start wxga720-api-24 --vnc-port=9001
stop - Stops the AVD
$ athena avd stop <profile> [--help|<options>...]
$ # e.g. stop a device that was started without any extra options
$ athena avd stop wxga720-api-24
$ # e.g. stop a device that was started with a VNC port at 9001
$ athena avd stop wxga720-api-24 --vnc-port=9001
logs - Retrieve AVD logs
$ athena avd logs <profile> [--help|<options>...]
$ # e.g. get logs from a device that was started without any extra options
$ athena avd logs wxga720-api-24
$ # e.g. get logs from a device that was started with a VNC port at 9001
$ athena avd logs wxga720-api-24 --vnc-port=9001
terminal - Starts a shell inside the AVD container
$ athena avd terminal <profile> [--help|<options>...]
$ # e.g. open a shell in a device that was started without any extra options
$ athena avd terminal wxga720-api-24
$ # e.g. open a shell in a device that was started with a VNC port at 9001
$ athena avd terminal wxga720-api-24 --vnc-port=9001
cleanup - Remove AVD image from the host machine
$ athena avd cleanup <profile>
wizard - Step-by-step guide to create a new device profile
$ athena avd wizard
Profiles Explained
android-<level>.conf
- Contains the Android SDK information for a given API level<name>.env
- Contains the device ABI, the name, skin information and which API level to use (based on the file above)
Both of these files are stored inside Athena plugins/avd/docker directory.
As soon as you add a new .env
file inside the directory, mentioned above, it will be available for you automatically.
If you your device uses a API level and the android-<level>.conf
does not exist, then you need to create it, otherwise the device will fail during build time.
You can also use athena avd wizard
to create a device profile step-by-step.
Contributing
Checkout our guidelines on how to contribute in CONTRIBUTING.md.
Versioning
Releases are managed using github's release feature. We use Semantic Versioning for all the releases. Every change made to the code base will be referred to in the release notes (except for cleanups and refactorings).
License
Licensed under the Apache License Version 2.0 (APLv2).