This article has been adapted from a medium article: Provide Demo and Training on Android Virtual Devices using Genymotion Device Image/PaaS by Ellinor Kwok.
There are many cases where you need to demo or train an audience on how to use an Android app:
- At weekly development application review with team members spread across different locations.
- At sales meetings to demo an application for potential customers without the hassle of transporting hardware or asking your customer to install an application.
- At a training where you educate users on how to use an Android application with the possibility of showing the device logs in real time for a more technical training.
- And many other cases…
Using virtual devices rather than physical devices has many advantages: there is no need for hardware or expensive upfront costs, and the participants don’t need to prepare a physical device since a virtual device can be prepared ahead of time.
Genymotion provides Android emulators running as virtual images on cloud providers.
This article will highlight the main features of Genymotion Device Image (PaaS) for demo and training purpose on AWS.
If you are new to Genymotion PaaS, please refer to our Getting Started Guide.
Prepare the virtual device
The first step is to prepare the virtual device to share. Once the instance is launched:
- If your application requires Google Play Services, you can install it from the upload widget and click on Install Open Gapps:
- Drag and drop to install any application from the upload widget or from ADB.
- Turn the device into a single-purpose tool by enabling the kiosk mode. The user will only be able to interact with your application and nothing else. You can enable it from the Configuration section:
Once the configuration is finished, you can create a copy of the image to reuse it later and have a virtual device ready for your users so that you do the configuration only once.
On AWS, you will create a new AMI: from the EC2 Management Console, select an instance and click on Actions > Image > Create Image. This will create an AMI in the geographic zone where the former instance was launched. To use this new image on another geographic zone, select the image in AMIs, then click on Copy AMI > Select the zone.
Share the virtual device
Once the configuration is done and your image ready, you can start a new instance through the provider’s web UI or through APIs. Simply share the instance IP address and credentials.
Before sharing the instance IP address, you might want to avoid the security warning which displays when accessing the device. For that you must install a trusted certificate. You can refer to this link for more information.
If you need to live share an application, just spin up one instance and share its IP address or DNS.
You can also share the IP address of the instance with this format :
This will remove the widget bar and other users won’t be able to interact with the device while you demo:
To enable some of the widgets and enable other users to interact while you demo, simply set some parameters to true.
Training and non-live app demo
During training, you might want each user to be able to reproduce what you are demoing for learning purposes. You will need each user to have its own instance access.
The same applies if you want a prospect or other members of a team to explore your application.
Start as many instances as you need from the preconfigured image you created. For each user, share a different instance IP. You might also share the device with some parameters disabled if you want to remove some widgets (refer to the previous section).
If you are doing a technical training, users can see the device logs live from the Logs section.