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

Author name: Cécile MAURISSET

Contest, Droidcon, Event, Event Report

Last week at Droidcon SF

Last week we attended the first ever Droidcon in San Francisco… only a 20 minute walk from our Genyhouse! It was a really great two days, full of engaging speaker sessions from top experts and great encounters where we discussed Genymotion and the latest trends in Android technologies. Once again, Droidcon did what it does best: it brought together a global network of developers and companies in a fun environment (the goodies weren’t bad, either). The winners of our photo contest are: @dhuma1981 @Viripick @ChezluiCJar @lapacorra @kokixi @piper_white Congratulations! You will all receive your 1 year license key in the next couple of days. In the meantime, take a look at the Genymotion features you will soon be able to enjoy! See you soon, Droidcon! The Genymotion Team.

Continuous Integration, Genymotion, Gradle Plugin, Java API

Continuous Integration with Genymotion

  What is the main goal of Continuous Integration? CI (Continuous Integration) prevents integration problems by pushing smaller code changes more often. CI is meant to be used along with automated unit tests. That’s where Genymotion comes into play One of Genymotion’s key features is its Gradle Plugin which allows you to combine the Gradle build system with Genymotion. This allows you to declare the virtual devices you want to start prior to testing. How does it work? To use Genymotion on a continuous integration server, you automate the launch via the Gradle plugin. This tool will simply create, configure and launch devices automatically, before your tests run. Unit tests are run on an integration server like Jenkins which connects to Genymotion, installs the apps inside the virtual devices and launches tests using Genymotion Virtual Machines. For example, one client, has a server instance, running specific tests with sensors, telephony and SMS/GPS with an undetermined number of Virtual Machines. Their need to have multiple and varied custom configurations for testing on demand is met by Genymotion. Bottom line Our Android Emulator Genymotion can be used to integrate elements of your testing scheme and validate your code. You can reset and reuse virtual machines easily and rapidly. With components such as Gradle, Android Studio & Eclipse plugins, command line tools and a Java API, Genymotion stands out as a powerful and robust solution for testing and integration. Watch our webinar and get more practical tips

Android Development, Droidcon, Event

Join us at Droidcon SF 2016 ($100 off)

  We are proud to announce that we will soon attend the #1 Android Developer conference in America! At Droidcon SF (March 17, 9:00 AM – March 18, 6:00 PM), our teams will be happy to share with you insights on our flagship product Genymotion – the best-in-class Android emulator for developers – and a few tips on what we plan for the future… (☁️) Sponsoring an event has its advantages: As official sponsor of the event, we take this opportunity to share with you a $100 discount (yep). → Simply enter the code Genymobile ← You can use it whenever you want (before the event of course) and it’s usable for Regular & Last Minute tickets. See you at Booth 12! REGISTER NOW Location

Genymotion, Genystory, Testimonial

Genystory | Alexandra Tritz (BlaBlaCar)

BlaBlaCar is the world’s largest long-distance ridesharing and local travel community with over 25 million members across 22 countries. “Genymotion is part of my daily tools” Alexandra Tritz is a mobile application developer at BlaBlaCar along with 7 other Android developers. When she joined the company two years ago the development team was already using Genymotion. Since then, she uses this tool daily in her work: “Genymotion is so much faster than Google’s Android emulator and saves me a lot of time. I like the emulator performance you get with Genymotion and the integration with the OS… I’d say my favorite Genymotion feature is the drag-and-drop of APK files because of its practicality”. “Genymotion saves us from having to buy all kinds of devices” With over 15 million app downloads, Alexandra and her team need to make sure that their app works on all combinations of Android versions and devices. “Some devices are so old that you cannot find them on the market anymore. This is the biggest problem that Genymotion solves for me: it can test an “infinite” amount of combinations, and I don’t have to worry about finding old versions of any device”. “Video capture is really helpful for teams working remotely” When you’re a company as big as BlaBlaCar, you have teams in different parts of the world. “With the video capture feature, remote teams can easily share their work with other offices. Thanks to visualization, the validation is faster and teams can move on to the next steps faster.” Check out BlaBlaCar’s app in the Google Play Store. DISCOVER GENYMOTION CLOUD

Mobile Testing, Resource, Whitepaper

Ebook: The virtues of emulators in mobile testing

  An effective and economical tool to enhance user experience To cover as much of your target audience as possible, you need to ensure the broadest coverage of devices and OS combinations for your application. Buying, managing, storing, and securing hundreds of combinations is costly and time consuming. While physical devices are more realistic than virtual devices, emulators let you perform testing more quickly and generate faster feedback into the development lifecycle. The aim of this turnkey ebook brought to you by Hewlett Packard Enterprise & Genymobile is to show the complementarity of both real devices and emulators by examining the use case. DOWNLOAD EN

Genymotion, Partnership, Webinar, Webinar Recording

Free Download – “Why Genymotion & HPE Mobile Center Are Better Together”

  Our expert Mittal Parekh – VP Product & Strategy – was one of the speakers in last week’s webinar we had with Hewlett Packard Enterprise. He gave tips on how to use our leading Android emulator Genymotion within HPE’s Mobile Center. Thank you all for being so many to participate in this session! Couldn’t attend? We got you covered Download the full webinar recording to learn how to offer unmatched device coverage to your apps and configurations. DOWNLOAD THE RECORDING

Genymotion, Partnership, Webinar, Webinar Registration

Genymobile is joining HPE in upcoming webinar!

  We are thrilled to announce that our leading Android emulator Genymotion is going to be featured in HPE’s upcoming webinar. During a special session, you’ll learn how to offer unmatched device coverage with Genymotion within HPE’s Mobile Center. Expert Mittal Parekh – our VP Product & Strategy, will speak about how Genymotion can allow better app testing and scalability to ensure your Android apps work on every platform. “Why Genymotion & HPE Mobile Center Are Better Together” Wednesday, February 10 5:00 – 6:00 PM CET 8:00 – 9:00 AM PST 11:00 – 12:00 PM EST RESERVE YOUR SEAT TODAY About Mittal (Vice President, Products & Strategy) With more than 20 years of experience in enterprise computing (AppSense, Citrix Systems, Hewlett Packard), Mittal Parekh has brought Genymotion to a whole new level with many industry leaders. During HPE’s webinar, he will be at your service for answering any questions regarding app testing and device scalability. Get in touch with him on Twitter and LinkedIn.

Application Development, Genymotion, Genystory, Testimonial

Genystory | Vladislav Iliushin (Avast)

  Avast Software is a security provider that protects 230 million users, devices, and businesses in 186 countries, with their software and mobile solutions. “Genymotion is the best emulator I’ve tried” Vladislav Iliushin is a QA engineer at Avast, and he can tell you – with operations at such a large scale, Avast’s QA department really needs to be on the ball. That’s the reason Vladislav created a QA infrastructure incorporating Genymotion. “It’s fast, flexible, and comes with a great API. They also have the best support service we’ve experienced. Their response time was quick, they resolved our issues, and the interaction felt personal.” “From the very beginning Genymotion really simplified our work” Avast Software cares about their users, and it shows. With more than 100M installs all their apps boast at least 4 star ratings in the Play Store. Not an easy feat, but it’s made a lot easier thanks to automatic integration. “We run many tests for our different products every hour. Every automated test we run is one less thing that someone needs to check on manually – that translates to a significant amount of time per QA engineer.” “Everything is in one place” The key to Avast Software’s success comes out of providing its users with optimal user experiences. That can only be done with a whole lot of testing. Fortunately, QA Engineers at Avast Software have the right tools at their fingertips. Indeed, instead of working with real devices and a plethora of different parameter combinations, they just have to change virtual device configurations. “It’s great not having to “switch” between a PC and several phones, but to have everything in one place.” Check out some of Avast’s tried and tested products in the Play Store.

Android Development, Dev Tips, Genymotion, Gradle Plugin

The build.gradle ubiquity

How to manage your build configuration, from the developer platform to the CI Before starting this article, I want to thank Mark Vieira, Gradle core developer, and the publishing teams from Gradle and Genymobile for their review and assistance. TL;DR The syntax apply from: allows you to inject Gradle scripts from files. You can check the current defined environment variables to know the current build environment (developer platform or continuous integration server) and apply the corresponding files. All parameters you don’t want to write in clear can be defined outside your Gradle files using Gradle Properties (via gradle.properties files, environment variables or command line arguments) and used as variables into Gradle files. Some of these methods can be controlled directly from the continuous integration management interface.   Introduction Two years ago, at Genymobile, we were all very enthusiastic about one of Google I/O announcements: Gradle is going to be the future-new-official-but-still-young build system for Android. A few weeks later, when we measured its potential power, all Android app developers were waiting impatiently for a stable and fully usable duet “Android Studio & Gradle”. Our first observation after adopting Gradle was that we were living a real professionalization of the tools provided by Google. In short, Gradle was as powerful as the well-known Maven, with a very light boilerplate for the configuration and the customization of the build. It also had this very nice wrapper that really made the adoption enjoyable. Gradle led to a better industrialization of the Android development, with an official support by the Android SDK team. Now we all implement automated tests, don’t we? We take seriously into account static analysis tools, right? And we run all of them on our continuous integration server, sure! Thanks to the build.gradle files of our projects, we can now control all tasks we run automatically. But sometimes, some tasks must behave differently whether they are run on our development environment or on a continuous integration server (also named CI).   An example of the problem At Genymobile, we develop Genymotion, an Android emulator. We worked hard to make it the perfect emulator for Android developers and we recently released a Gradle plugin. This plugin allows us to declare, in the build.gradle script, the Genymotion devices to launch before running the tests. Let’s imagine that on our computer, we want to run tests on an emulated phone (Nexus 5) and an emulated tablet (Nexus 9). Then we add this block to the build.gradle file: genymotion {    devices {        Nexus5 {            template “Google Nexus 5 – 5.1.0 – API 22 – 1080×1920”        }        Nexus9 {            template “Google Nexus 9 – 5.1.0 – API 22 – 2048×1536”        }    } } On the CI server side, we want to test more devices. So we add a Galaxy S3, an S4, a Nexus 7 and a Nexus 10, with different Android versions: genymotion { devices {        Nexus5 {            template “Google Nexus 5 – 5.1.0 – API 22 – 1080×1920”        }        Nexus9 {            template “Google Nexus 9 – 5.1.0 – API 22 – 2048×1536”        }        S4 {            template “Samsung Galaxy S4 – 4.3 – API 18 – 1080×1920”        }        S3 {            template “Samsung Galaxy S3 – 4.2.2 – API 17 – 720×1280”        }        Nexus7 {            template “Google Nexus 7 – 4.1.1 – API 16 – 800×1280”        }        Nexus10 {            template “Google Nexus 10 – 4.4.4 – API 19 – 2560×1600”        }    } } Those additional configurations offer a better coverage for the instrumented tests and they will all be run automatically. Now, we have two pieces of script, supposed to be in the same file at the same time. Let’s see how we can handle this problem.   Apply From a File The best way to solve this is to put both scripts into separate files: genymotion-dev.gradle will be applied when the build will be running on the developer’s computer; genymotion-ci.gradle will run on the CI. They can be both be applied using the apply from: syntax, as shown below: build.gradle apply from: “$rootDir/genymotion-dev.gradle” But how can the build system decide what files to apply? For this, it needs to know whether the build is running on the CI or on a dev environment, and it is pretty simple. Each time your continuous integration server launches a job, it opens a worker and it injects some environment variables. These can be used by the running scripts to get information about the context of the build. They are also convenient to know whether the Gradle script is executed on a CI or not. You can get the list of these default values on each CI documentation. Here are examples for Jenkins and Teamcity. Some people would prefer to avoid the build system configuration to depend on the CI installed, allowing to switch easily from a server to another. To solve this, you can define an environment variable yourself for all your jobs instead of using the one from your server. On Jenkins, you can do this using EnvInject plugin. On TeamCity, you can use Build Parameters. We just need to test that this environment variable is set to determine whether the build is running on the CI and then apply the dedicated Gradle file: build.gradle def isCiServer = if(System.getenv().containsKey(“IS_CI_JOB”)) if(isCiServer) apply from: “$rootDir/genymotion-ci.gradle” else apply from: “$rootDir/genymotion-dev.gradle”   The path as a URL As a bonus, Gradle adds a nice feature to the  apply from  instruction: we can use a URL. Instead of storing the file in a specific place on the CI server or on the repository, we can put it behind a HTTP server like this: apply from: “http://ci.mycompagny/genymotion-ci.gradle”   Managing Local Parameters Now that the build setup is defined, we are almost done for the build system configuration. However, in most cases, you still need to configure settings related to the computer running the build. These settings can be related to a specific local path, credentials, or any other specificity of the

Droidcon, Event

Droidcon NYC

Skyscrapers, yellow cabs, bagels and pizzas… One month ago our team went to Droidcon New York. A great event, which hosted the best of Android actors! The conferences were recorded and are now available online. If you are interesting in app testing and continuous integration, we recommend that you take a look to Sylvain and Antonin’s talk or to their slides.

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