🤖 Power your dev and integration with AI skills for Genymotion!

Author name: Cécile MAURISSET

Dev Tips, Mobile Testing, Use Cases

How testing your app early helps protect your Play Store ranking

This post explores the strong links between app quality and app store ranking. To offer you the best insight, we’ve collaborated with our friends at Gummicube who are experts in App Store Optimization – When it comes to developing apps, the user experience is vital. It’s one of the core aspects of an app that can set it apart from the competition. With thousands of apps launched daily, developers want to make sure they stand out by giving users the best experience possible. Unfortunately, bugs present a challenge that cause the downfall of many apps. Google Play does not tolerate buggy apps, and if Google notices users frequently leaving negative reviews about an app’s performance, they will make sure to hide it from users. Fortunately with Genymotion, it is possible to prevent this from happening. Bugs Ruin User Experience When it comes to the user experience, bugs are always bad. They tend to ruin the user experience and can lead users to uninstall apps. Even worse, if too many app crashes, application-not-responding (ANRs) or uninstalls accrue, Google Play will take away that app’s keyword rankings to ensure users don’t download a buggy app. One less buggy app is great for users, but it means loss of discoverability for that particular app, as well as overall installs. Before launching an app or new update, it’s important to ensure that the build does not contain performance issues or major bugs. Otherwise a company’s App Store Optimization (ASO) strategy can be ruined. How Bugs Affect Keyword Rankings When poor performance, negative reviews and uninstalls rise, Google Play starts flagging the underperforming app, causing it to fall back in rankings. Click-through-rate and daily installs start suffering as visibility falls more and more. This then leads the app to become increasingly irrelevant which causes a further loss in rankings. Eventually, Google Play may deem the app as so irrelevant due to poor user experience, that the app can lose its ranking completely for a given keyword. Through App Store Optimization, developers can work to counteract this negative trend and improve their rankings by targeting additional keywords to expand their keyword reach. However, if an app is receiving too many uninstalls, ANRs or crashes, then its ASO efforts can be negated. It is important that developers ensure their apps are bug-free before they are launched or updated. This is where Genymotion is able to help developers. How Genymotion Helps Improve User Experience & ASO With Genymotion’s testing features, developers are able to properly test their app beforehand, helping prevent a bug from disrupting the user experience once live. Running large scale, automated tests, reducing the amount of testing cycles needed to polish an app. This helps with two major factors 1. It saves large amounts of time as developers are able to sniff out bugs much quicker and thus resolve them faster. 2. It allows developers to stress test their apps and understand how performance changes, as well as whether or not servers are able to handle a large influx of traffic. It’s important to thoroughly test an app, because once a build goes live, it is open season. When a bug appears, developers need to resolve it quickly before it leads to a bad user experience, and ultimately damages the efforts accomplished by ASO. With Genymotion, developers are able to weed out bugs before a build goes live, ensuring the user experience is kept safe. By using Genymotion, developers are able to focus on creating a great app, and not be tied down with constant bug fixes and repeated testing.

Discount

The More The Merrier: Single’s Day Promotion!

Folks, this is this time of the year again! And actually, our first Single’s Day with you, because until earlier this year, we didn’t have any product dedicated to our asian customers. Now, this gap has been filled, and we’re proudly offering our Android Virtual Devices on Alibaba Cloud, on demand! Haven’t tested them yet? Give it a try now and take advantage of our Single’s Day promotion: it’s not even a discount, it’s a FREE TRIAL. What’s not to love, right? There’s a Quick Start Guide for the newbies, which should help you set up your virtual devices in a minute. And because we’re sweet for this special occasion, they’re available right now for Oreo, and later on for Nougat, Marshmallow, and Lollipop! Stay tuned 🙂 Spread the Love!

Event

Happy Halloween!

Happy Halloween from the Genymotion teams! As every year, our amazing design team has prepared a papercraft for you, so you can bring to your desk some of the Genymotion fun & some Halloween vibes. Print your papercraft here! Stay tuned – in the next post, you’ll learn how to fight spooky bugs to improve your app’s rankings in the Play Store 😀

Genymotion Cloud, Genymotion Cloud (AWS-GCP)

Genymotion now available on Alibaba Cloud

Our “on demand” offer of Genymotion Cloud was already available on Amazon Web Services and Google Cloud Platform (GCP). Now, to address the needs of even more users throughout the globe, we have made it accessible on Alibaba Cloud! Genymotion Cloud is now accessible on Alibaba Cloud   Ever thought of a world where you could go to a web portal, and in few clicks, spawn as many Android virtual devices in your browser, instantly, for a cost as low as $ 0.5 per hour? That’s Genymotion Cloud! It’s no surprise why more and more developers and QAs use it every day to build, test, deliver and run high quality apps. Our cloud-based emulators were so far only available on Amazon Web Services and Google Cloud Platform. But we’ve worked hard to publish it on Alibaba Cloud. Now, teams with operations in Asia, or anyone with an existing infrastructure on Alibaba Cloud will be able to connect their systems to our Android devices without having to combine multiple platforms. Access Genymotion Cloud on Alibaba Cloud     As a reminder, Genymotion Cloud addresses different use cases (such as functional & performance monitoring, security testing, advertising, etc.) but one of the most important is that it allows to automate your tests on multiple virtual Android devices in parallel and at a very large scale, thus contributing to reduce your test lifecycle! It includes the features below: – Real-time in-browser streaming display – Compatibility with Google Play Services – Sensors (GPS, Accelerometer, Battery, Disk, Network, Calls & Texts) – Several Android versions (from Lollipop to Nougat) – Java API – Webcam as a Camera – Sound Support – GPU or Soft rendering – Compatibility with SSH and ADB – Kiosked application As usual, it’s provided for Android Lollipop, Marshmallow, Nougat, and Oreo. Choose your flavor!   Android 5.1 Android 6.0 Android 7.0 Android 8.0 As usual, do not hesitate to give us feedback on Twitter!

Genymotion Cloud, Genymotion Cloud (AWS-GCP)

Genymotion Cloud (AWS-GCP)* 5.0: better performances and the launch on Google Cloud Platform!

*Genymotion on Demand has been renamed Genymotion Cloud. Our “on demand” Genymotion Cloud offer already accessible on Amazon Web Services, is now also available on Google Cloud Platform (GCP). And since good news never come alone, we managed to improve by up to 4 the performance thanks to some fixes. Enjoy! Genymotion Cloud is now accessible on Google Cloud Platform (GCP) As we encounter a real success on AWS, reaching the 1M hours of use, it was obvious to also release Genymotion Cloud on GCP in order to address the needs of developers and testers who use this cloud provider for their infrastructure! You can now enjoy cloud-based Android emulators with a per-second billing system to build, test, deliver and run high quality apps! Access Genymotion Cloud on GCP   As a reminder, Genymotion Cloud addresses different use cases (such as functional & performance monitoring, security testing, advertising, etc.) but one of the most important is that it allows to automate your tests on multiple virtual Android devices in parallel and at a very large scale, thus contributing to reduce your test lifecycle! It includes the features below: – Real-time in-browser streaming display – Compatibility with Google Play Services – Sensors (GPS, Accelerometer, Battery, Disk, Network, Calls & Texts) – Several Android versions (from Lollipop to Nougat) – Java API – Webcam as a Camera – Sound Support – GPU or Soft rendering – Compatibility with SSH and ADB – Kiosked application The product is already available on Google Cloud Launcher: Genymotion Cloud on GCP Android 5.1 (lollipop)     Genymotion Cloud on GCP Android 6.0 (marshmallow)    Genymotion Cloud on GCP Android 7.0 (nougat)   Enjoy better performances! – We’ve improved graphic performances by up to 4 compared to older versions and you can also access to GRID instances, perfect for apps with intense graphic UI! – We have added a screencast option on our capture widget so that you can record videos. – And finally, we have been able to make the Opens GApps installation easier and fixed some bugs. You’ll find more details in our release notes. Access Genymotion Cloud on GCP           Access Genymotion Cloud on AWS

Android Development, Genymotion, Genymotion Cloud, Genymotion Cloud (AWS-GCP)

Access internal web services from Android devices running in the cloud using adb reverse

It can be pretty common for your project to have some security and confidentiality problematics?. In some cases, your application may need to access an internal web service: It is a private business application accessing confidential internal information. It is an application accessing some web services currently under development and those services must remain private until finished.   Accessing those private backends while automating your tests in the cloud can be tricky. You could do it with a VPN, but it can be cumbersome. Adb reverse is another solution, easier to set up. Luckily for you, we managed to make it work with Genymotion Cloud ?. Let’s dig in and see how it works! In this article, we study the case of an app running automated tests from Genymotion Cloud, but accessing web services running on a private network.   TL;DR 1. On your CI server, run a local proxy (such as Squid, running on port 3128). 2. Start a Genymotion Cloud device using the gmsaas CLI: uuid=$(gmsaas instances start 143eb44a-1d3a-4f27-bcac-3c40124e2836 pixel3) gmsaas instances adbconnect $uuid This gives you access to the device through ADB. 3. Configure the proxy settings in the device using ADB: adb shell settings put global http_proxy localhost:3333 4. Bind your local proxy to the device proxy configuration using command: adb reverse tcp:3333 tcp:3128 5. Make sure your app handles Proxy System Settings. 6. Run your tests as usual. You can also go further by using different URLs depending on the build type… Everything is explained below ? Let’s start with a diagram of the situation: You can see a Genymotion Cloud device located on our datacenter launched by a continuous integration server running on your internal network. This is done through gmsaas,  the Genymotion command line tool. An ADB tunnel is created between the server and the virtual device, allowing to use `adb` on the device, as if it was running locally. On the other hand, your internal web service is not exposed and therefore cannot be accessed from the virtual device. How to overcome this, without exposing your internal web service to the Internet? ADB reverse to the rescue! ?   Accessing the infrastructure Run a local proxy on your CI server This piece of software is aimed to expose your internal web service located in your infrastructure to a local network connection occurring on your CI server. ADB is running on your CI server, and it is the only one that will connect to the proxy. You must run a single proxy server for all the devices needing access to your internal web service. There are plenty of ways to start a proxy on your server. Here is for example how to launch a Squid proxy using docker : First, make sure folder /opt/squid/cache is created. Also, you must set up a configuration file /opt/squid/squid.conf. You can use this simple configuration: # Squid proxy port declaration http_port 3128 # Allow local connections, including Docker’s host acl localnet src 10.0.0.0/8     # RFC1918 possible internal network acl localnet src 172.16.0.0/12  # RFC1918 possible internal network acl localnet src 192.168.0.0/16 # RFC1918 possible internal network acl localnet src fc00::/7       # RFC 4193 local private network range acl localnet src fe80::/10      # RFC 4291 link-local (directly plugged) machines http_access allow localnet http_access allow localhost http_access deny all Then run the following docker command: docker run –name squid \ –publish 127.0.0.1:3128:3128 \ –volume /opt/squid/squid.conf:/etc/squid3/squid.conf \ –volume /opt/squid/cache:/var/spool/squid3 \ –volume /opt/squid/cache:/var/log/squid3 \ sameersbn/squid:3.3.8-12   Start the virtual device Before each test run, the CI server starts one or several cloud devices using gmsaas. Start a device using: uuid=$(gmsaas instances start 143eb44a-1d3a-4f27-bcac-3c40124e2836 pixel3) This command starts a new Pie virtual device on Genymotion Cloud. Once this command is finished, connect to the device with adb : gmsaas instances adbconnect $uuid, you can interact with it using `adb` commands, through the ADB tunnel. Configure the device to use a proxy Today, Genymotion Cloud virtual devices are disposable. It means they are deleted when you stop them and all their configuration and files are lost. You must configure them each time you start them. You can set the proxy configuration from the command line : adb shell settings put global http_proxy localhost:3333 Note: If you need a more precise configuration (configuring the proxy exclusion list for example), we recommend configuring a Genymotion Cloud virtual device through the Wifi Settings application and to share it on Genymotion Cloud with all your team as explained in the documentation. Bind the device’s configuration to your CI server’s proxy Now on one side, we have a Squid proxy running on the CI server bound to local port 3128 and on the other side, we have a device looking for a proxy server on its own local port 3333. ADB allows us to bind those two remote ports thanks to the `adb reverse` command. Run command: adb reverse tcp:3333 tcp:3128 This command redirects all the network traffic inside the device going to localhost:3333 to your computer localhost:3128. Once everything is set up, here is how your infrastructure behaves: All the network traffic of the cloud device goes through the ADBtunnel, arrives to the ADB server running on your CI computer and is redirected to the Squid proxy, exposing your internal web service to the remote virtual device. Your internal web service is then accessible from your app, as soon as you make sure it observes the proxy system settings. Note: The `adb reverse` command is supported on Android since Android 5.0 only, so make sure you select the right version.   Use the proxy system settings in your app You must be careful that your HTTP client observes the proxy settings that have been set up. If you are using OKHttp library, this is handled directly by the client, there is nothing to do from your part. If not using OKHttp library, you must set the proxy from your app source code, depending on your HTTP client.   Conclusion You did it! A simple setup where you decide to

Android Development, Resource

Open Source Project: Scrcpy now works wirelessly!

Last week, we introduced our new open source project: scrcpy. The feedbacks were amazing, many people were interested in the application. ? This was very motivating, and a lot of work has been done in the last few days to fix important issues.? For example, mouse clicks now work on LG devices, a memory leak and a segfault on copy/paste have been fixed. For convenience, we also added some mouse shortcuts?: • middle-click presses the HOME button, • right-click presses the BACK button (on turn the screen on), • double-click on black borders resize the window to fit the device screen. But a specific feature was much requested: make it work over Wi-Fi.   Wireless The application communicates with the device over adb, so it should be easy to make it work wirelessly: Connect to a device over Wi-Fi. It was not counting on an adb bug preventing adb reverse to work over a connection established by adb connect. Therefore, we implemented a workaround to fallback using adb forward (and reversing the client/server roles) when adb reverse fails.   How to run scrcpy wirelessly? Here are the steps: 1. Connect the device to the same Wi-Fi as your computer 2. Get your device IP address (in Settings → About phone → Status) 3. Enable adb over TCP/IP on your device: adb tcpip 5555 4. Connect to your device: adb connect DEVICE_IP:5555 (replace DEVICE_IP) 5. Unplug your device 6. Run scrcpy as usual To switch back to USB mode: adb usb. As expected, the performances are not the same as over USB. The default scrcpy bit-rate is 8Mbps, which is probably too much for a Wi-Fi connection. Depending on the use case, decreasing the bit-rate and the resolution may be a good compromise: scrcpy –bit-rate 2M –max-size 800 For people in a hurry: scrcpy -b2M -m800 Note that while it now works over TCP/IP, this is not an optimal solution for streaming a video wirelessly, since the raw stream is still sent over TCP, where a packet loss is very bad for latency, due to head-of-line blocking. But it’s better than nothing! Under good conditions, it may work pretty well: On the video, scrcpy is started over USB on the laptop with Debian (on the right), and over Wi-Fi on the Mac (on the left). You can now build, install and run the new version! Enjoy!

Event, Genymotion Cloud, Partnership

Partnership: Genymotion + Quamotion – Pushing cloud-based mobile automation testing a step further

We’re proud to announce we’re partnering up with Quamotion. More than 100 Genymotion Cloud virtual devices will be part of the next release update of Quamotion WebDriver & Quamotion Cloud ☁? Read on to find out what’s in it for you ?   Access cloud-based Android virtual devices right from Quamotion WebDriver & Quamotion Cloud   If you’re familiar with the testing world, there’s a high chance you know Quamotion. Test automation, cloud testing, test reports… They cover a good chunk of the mobile software testing process ? As of the next release of Quamotion WebDriver and Quamotion Cloud, things are getting pushed a lot further as our in-house cloud-based Android virtual devices will join the party! Helping you to make your app shine even more ✨   Faster testing, increased coverage… Better time to market!   In short, running our in-house Android virtual devices via Quamotion’s solutions allows you to test more often, scale your tests and, by extension, find bugs faster, reduce your testing lifecycle and then fasten your time to market. ? ? Learn more about the benefits of this cloud-based mobile test automation solution. We’re deeply convinced Quamotion associated with Genymotion is the best combo you can get to cover the full application lifecycle ?  Learn more about Mobile Test Automation with Quamotion & Genymotion Learn more about Quamotion

Genymotion, Genymotion Releases

Genymotion 2.12 – ADB reverse support, improved ADB screenrecord and… Android 8.0 Oreo Stable ?

Genymotion 2.12 is here! This new release comes with Android Oreo 8.0 stable and brings access to ADB reverse capabilities*. It also provides an  improved version of ‘adb screenrecord’ ? Let’s break it down ? Android 8.0 Oreo now fully ported Android Oreo is finally here in its stable and final version! Our team has been burning the midnight oil to bring you a worthy successor to our previous release. Today, we’re proud to announce Android 8.0 Oreo now works flawlessly on Genymotion 2.12! And after deep and thorough tests from our amazing QA team, we haven’t noticed any issue to date ? In order to access 8.0 virtual devices, simply open Genymotion and click that “Add” button ➕ They will be sitting there for you to download ?   Enjoy ADB reverse capabilities on Genymotion Cloud devices As of this release, Genymotion Cloud allows the use of the ‘adb reverse’ command! This basically means you can now securely give your Genymotion Cloud devices access to  the private network of your choice. ?   Meet our in-house ADB screenrecord If you’re familiar with the command `adb screenrecord`, this one should please you ? First of all, ADB screenrecord is now compatible with post Android 4.4 KitKat virtual devices! No need anymore to open that old AVD sitting there just for demo purposes ? We’ve also implemented a way to circumvent the infamous 3 minutes time limit. Record as much as you want ?   Other things under the hood In order to bring you the best stability and performance, we fully reworked the internal architecture of Genymotion Desktop. For better maintainability and support, you will have to migrate all your older virtual devices to this new version in order to access and use them. But don’t worry! We’ve implemented a free and thorough migration tool that will take care of it for you. Just let it guide you through and everything will be fine ? As you can see, Genymotion 2.12 is our most polished and improved version to date. We sure believe it will make things easier for you in your daily job ? Get it now! DOWNLOAD GENYMOTION DESKTOP 2.12            TRY IT FOR FREE Check the full release note * On cloud devices only. We strive to bring you the best emulation experience. But sometimes things can go wrong. If you encounter an issue please give us a shout and we’ll sort it out the best we can.

Scroll to Top

Select Product Portal

SaaS Platform

Access to our SaaS solution and use virtual machines in the cloud on any web browsers.

Or

Or

Desktop Platform

Access to manage your Genymotion Desktop licenses, your invoices and account information.

How to get a quote for multiple Business Licenses?

  1. You need a Genymotion Desktop account. If you haven’t one yet, you can create it here.
  2. After creation and activation, or if you already have an account, follow this link.
  3. Add the number of desired licenses to your shopping cart and click “Continue to Billing”
  4. Add a shipping address, or select one if you already created one.
  5.  In the next page, click “Get a quote”:
    Payment details
  6. A quote will be automatically generated in PDF format.

Genymotion Device Image for Cloud providers
- Private Offer -

Genymotion Self-hosted (on-premises)
- Contact Us -

Genymotion SaaS
- Increase Maximum Simultaneous devices -

Genymotion SaaS Enterprise Plan
- Get a Quote -

Genymotion SaaS Premium Plan
- Get a Quote -

Personal Use - Free

Genymotion Desktop for personal use is not suitable for trial or POC: you will not get any assistance and some features will be disabled. If you have already selected “personal use” and wish to get a trial license, please contact our Sales at [email protected].

Technical support is not available with Genymotion Desktop free edition for personal use. For more details, please refer to Genymotion conditions of use (Personal Use).

The following features are not available in personal use mode:

Follow these steps to get Genymotion Desktop and activate personal use mode:

  1. Go to the Download page and get the latest version for your system.
  2. Follow the instructions from Genymotion Desktop quickstart guide to install Genymotion Desktop.
  3. Launch Genymotion and click CREATE to create an account. You should receive an activation email within an hour. If not, make sure to check your spam.
  4. After activating your account, return to Genymotion and log in with your credentials.
  5. Select personal use when prompted.
  6. Read Genymotion Desktop quickstart guide carefully to setup Genymotion for your needs.

Contact Sales
- Premium Plan -

Select a Cloud provider Marketplace