Genymotion
Google Play Services
VM installation
Android development
Virtual Machine instructions

How to install Google Play Services in a Genymotion VM with no drag and drop support?

Master System Design with Codemia

Enhance your system design skills with over 120 practice problems, detailed solutions, and hands-on exercises.

Introduction

Some Genymotion setups cannot use drag-and-drop package flashing, which makes standard Google Play Services installation guides unusable. You can still install required packages through adb by pushing archives manually and invoking the flash process from shell. The key is matching Android version and architecture, then verifying each installation step before reboot.

Confirm Device and Tooling Prerequisites

Before flashing anything, verify emulator state and adb connectivity.

bash
adb devices
adb shell getprop ro.build.version.release
adb shell getprop ro.product.cpu.abi

You need:

  • a running Genymotion VM
  • Android platform-tools installed
  • package files compatible with VM Android version and ABI

For older Genymotion images, you may need an ARM translation package before Google apps components work correctly.

Download Compatible Packages

Prepare two archives if your image requires them:

  • ARM translation package compatible with your Android API level
  • Open GApps package matching Android version and ABI

Use conservative package variants, commonly pico, to reduce installation failures from system partition size limits.

Keep files in an easy local path, for example:

text
~/Downloads/genymotion/Genymotion-ARM-Translation.zip
~/Downloads/genymotion/open_gapps-x86_64-android11-pico.zip

Push Archives to the Virtual Device with adb

When drag and drop is unavailable, push files manually.

bash
adb push ~/Downloads/genymotion/Genymotion-ARM-Translation.zip /sdcard/Download/
adb push ~/Downloads/genymotion/open_gapps-x86_64-android11-pico.zip /sdcard/Download/

Confirm files exist on device:

bash
adb shell ls -lh /sdcard/Download/

Flash Archives from Shell

Many Genymotion images include a flash helper script used internally by drag-and-drop flows. Run it directly.

bash
1adb shell
2su
3/system/bin/flash-archive.sh /sdcard/Download/Genymotion-ARM-Translation.zip
4/system/bin/flash-archive.sh /sdcard/Download/open_gapps-x86_64-android11-pico.zip
5exit
6exit

If su is unavailable in your image, use a Genymotion image that supports root shell for system package installation.

After flashing, reboot:

bash
adb reboot

Complete Setup Inside Android

After reboot:

  • open Play Store app
  • sign in with test Google account
  • allow Play Services update prompts

Validate installed package versions from shell:

bash
adb shell dumpsys package com.google.android.gms | head -n 20
adb shell pm list packages | grep -E 'com.google.android.gms|com.android.vending'

If package manager output shows both Play Services and Play Store, base installation succeeded.

Troubleshooting Common Failures

If installation fails, check these first:

  • ABI mismatch between VM and package
  • Android version mismatch between VM and GApps archive
  • insufficient system partition space for selected package variant
  • missing root access for flash operation

Practical fixes:

  • switch from stock package to pico
  • recreate VM with matching Android version
  • flash ARM translation first, reboot, then flash GApps

For difficult failures, inspect log output during flash and package manager errors:

bash
adb logcat -d | grep -i -E 'gms|vending|package manager|install'

Prefer Images with Google Apps Preconfigured When Possible

If your workflow allows recreation, choosing a Genymotion image that already includes Google services can save time and avoid maintenance overhead. Manual flashing is useful for constrained environments, but preconfigured images are usually more stable for repeated CI and QA usage.

Common Pitfalls

  • Flashing a package that does not match VM Android version or ABI.
  • Skipping ARM translation on images that still require it.
  • Using large GApps variants and running out of system partition space.
  • Forgetting to reboot between major flash steps.
  • Debugging from UI only and not checking adb package-manager output.

Summary

  • You can install Play Services without drag and drop by using adb push plus shell flashing.
  • Verify Android version and ABI before selecting any package archives.
  • Use small package variants first to reduce space-related failures.
  • Confirm installation with pm list packages and dumpsys package.
  • For long-term stability, prefer images that ship with Google apps preconfigured.

Course illustration
Course illustration

All Rights Reserved.