← back to blog

migrating from Genymotion or BlueStacks to cloud phones: a step-by-step guide

May 06, 2026

if you are reading this, your Genymotion or BlueStacks setup is probably failing in a specific way. accounts that were stable for months suddenly trip “suspicious activity” prompts. ad accounts get disabled hours after warming. login otps stop arriving. the moment you decide to migrate Genymotion to a cloud phone, you usually need to migrate fast, because the existing emulator stack is no longer earning.

this guide walks the full migration end-to-end. when to migrate, what to export from Genymotion or BlueStacks, how to transfer logins without resetting the trust score, how to set up ADB on cloudf.one, and how to validate the migration worked before you pull the plug on the old emulator.

when migration becomes the only option

most teams hold on to emulators too long because the migration looks expensive and the bans look intermittent. the calculation flips fast once production accounts start dying. the typical signal that you are past the point of no return:

Meta, TikTok, or Google ads BMs and accounts are dying within 2 weeks of creation regardless of warming. otp delivery to your emulator-bound numbers is failing or arriving 10 plus minutes late. play protect or device verification prompts now appear on apps that worked 6 months ago. safetynet attestation fails on apps that never required it before. accounts created on the emulator cannot complete first-login verification on a real phone (because the device fingerprint mismatch is now a hard fail).

once any one of these is happening regularly, your emulator stack is finished. the platforms have caught up. we covered the technical reasons in detail in cloudfone vs Genymotion cloud and cloudfone vs BlueStacks.

migrate in batches, do not flip everything in one day. one batch is roughly 5 to 10 accounts, ordered by which ones are still earning and which ones are most at risk.

what to export from Genymotion or BlueStacks before you wipe

the value locked inside an emulator is the data that proves account continuity. the more of it you carry forward, the better your migrated accounts will trust-score after the move.

backup these items per emulator instance:

the package list. on the emulator, run adb shell pm list packages -f > packages.txt. this gives you the exact apk paths and package names so you can reinstall the same versions on the cloud phone. only reinstall from play store, never sideload the apk.

app data for non-bound apps. for utility apps like password managers, note apps, and authenticator apps that are not tied to a remote anti-fraud check, you can pull the data directory with adb backup -f app_backup.ab com.example.app. for social apps (Instagram, TikTok, WhatsApp, Facebook, Telegram), do not pull data. those bind to device identifiers that the cloud phone does not share, and importing creates more problems than it solves.

screenshots and notes about each account. usernames, last login timestamps, two-factor seeds (if you control them), recovery emails, recovery phones, and friend list cohort sizes. this is your audit trail.

session cookies and tokens you specifically set up. generally not portable, but worth noting which apps rely on them so you can plan re-logins.

contacts and gallery. adb pull /sdcard/DCIM gives you the gallery, and contacts can be exported as vcf via the contacts app on most android builds.

once you have the export, upload everything to a private google drive or local folder. you will reference it constantly during migration.

the account login transfer pattern

this is the single most error-prone step. accounts that were happy on Genymotion will challenge a fresh login on a new device, and the wrong sequence triggers the soft-lock or full disable.

the rule: log in from the new cloud phone, but do it in a way that looks like the user just got a new phone (which they did). platforms have a “device upgrade” flow built in, and you want to land in that flow rather than the “suspicious login” flow.

step 1: keep the old emulator alive. do not factory reset, do not uninstall the apps, do not log out. the old emulator should still be reachable for the next 7 to 14 days during transition.

step 2: on the cloud phone, install the social app from play store. open it. enter the username. when the otp arrives at your registered number (which should still be active and your number, not the emulator’s), enter it.

step 3: when prompted “is this you logging in from a new device”, answer yes truthfully. some apps then force a confirmation from the old device. open the app on the old emulator and approve.

step 4: the platform will usually require 24 to 48 hours of activity from the new device before it fully trusts. during that window, do not delete from the old emulator and do not run aggressive automation on the new phone. just open the apps, scroll, react.

step 5: once the new phone is the trusted device (you will see prompts like “we sent the code to your new phone”), you can wind down the old emulator instance. wait 7 to 14 days more before deleting, just in case you need a fallback.

WhatsApp is the trickiest case. WhatsApp binds tightly to a phone number and a device. the safest path is to register the cloudf.one phone’s SIM from day one, then move the WhatsApp linked devices over via the official “transfer to new phone” flow. if your existing WhatsApp is on a number that is not the cloudf.one SIM, plan for a number port or a new account.

ADB setup on cloudf.one

ADB on cloudf.one is over the network, not over USB. each phone exposes a tcp endpoint on the cloudf.one infrastructure, and you connect from your laptop with the standard android sdk tools.

install android platform-tools on your laptop. on macos, brew install android-platform-tools. on windows or linux, download from the android developer site directly.

inside your cloudf.one dashboard, find the phone you want to control. each phone shows an ADB endpoint that looks like adb.cloudf.one:5XXXX along with a one-time auth token. run adb connect adb.cloudf.one:5XXXX from your laptop terminal. when prompted, paste the auth token. accept the rsa fingerprint dialog on the phone via the cloudf.one web console (the dialog appears in the live phone view).

verify with adb devices. you should see the phone listed as online.

from there, every adb command works as if the phone were on your desk. adb shell for a command line, adb install app.apk for sideload (avoid for social apps), adb push file /sdcard/ for file transfer, adb logcat for debug logs.

we walk through the deeper ADB use cases in how to set up ADB on cloudf.one, including scrcpy, automation tooling, and security notes. that article is worth reading before you commit to scripting anything in production.

scrcpy mirroring for live ops

scrcpy gives you a real-time mirror of the cloud phone on your laptop screen. install with brew install scrcpy on macos or apt install scrcpy on debian.

once the phone is connected via adb, run scrcpy and it picks up the connected device automatically. you get a live window that responds to mouse and keyboard. for multi-phone agency use, run scrcpy -s adb.cloudf.one:5XXXX to target a specific phone, and open multiple windows side by side.

this turns the cloud phone into a real workstation. typing on your laptop keyboard, using your mouse to tap, copy-pasting urls and logins. the cloud phone treats every input as native android input.

post-migration validation

before you delete the old emulator, validate that the new cloud phone is fully trusted by the platform. checklist:

login from the cloud phone succeeds without otp challenges for 5 consecutive sessions. push notifications arrive within 30 seconds of being triggered. otp codes for login arrive at the correct number on the cloud phone within 60 seconds. dm and comment posting works without “action blocked” prompts. ad account interest targeting saves correctly without “we’ll review this” friction. payment methods can be added without identity re-verification.

if any of these fail, do not wipe the old emulator yet. usually one or two more days of activity from the new phone will resolve the trust gap.

the timeline for a clean migration

for a 10-account portfolio, plan two weeks. day 1 to 3, export everything from emulators. day 4 to 7, run cloud phones in parallel and complete logins. day 8 to 14, validate. day 15 onward, decommission the emulator.

the cost difference often surprises people. a Genymotion cloud subscription that runs 10 instances 24/7 is comparable to renting 10 cloudf.one phones. but the cloudf.one phones do not get banned, which is the only metric that actually matters.

real device, real IP, real continuity. that is the entire migration story.

FAQ

should I migrate all accounts at once or in batches?

batches. 5 to 10 accounts at a time. you want the bandwidth to babysit each migration and respond to platform challenges within hours.

will my Genymotion account data import directly into the cloud phone?

generally no for social apps (and you don’t want it to, the device-binding mismatch causes problems). for utility apps, adb backup and restore can work but is rarely necessary.

how long should I keep the old emulator running after migration?

7 to 14 days minimum. it is your fallback if the cloud phone gets temporarily challenged and you need to confirm a session.

does ADB on cloudf.one feel different from local ADB?

no. once adb connect succeeds, every command is identical. the only practical difference is latency, which adds 30 to 100ms per command depending on your location.

will my BlueStacks scripts run unchanged on a cloud phone?

mostly yes, if they use ADB shell commands. if they use BlueStacks-specific apis (like the macro recorder), you will need to rewrite to standard adb input commands or use appium.

do I need a new phone number or can I keep my current one?

keep your current one if it is yours. the cloud phone’s SIM is for app-side carrier IP signals. login otps still go to whatever number is on file with the platform.