Everything from the first-time setup with your PC to using the phone on its own, without a PC. On your phone, the app is called "Medjed GPS". iPhone users, see the iPhone guide.
Any phone with Android 8 or later works. No root needed.
| How you use it | What you need |
|---|---|
| With a PC The PC controls the phone's location | A Windows PC with the Medjed desktop app + a USB cable that supports data (some cables only charge). No sign-in on the phone; it uses the desktop app's trial or subscription. |
| Phone on its own No PC | Medjed GPS already installed on the phone, plus one of these: a free 14-day trial (once per phone), or sign in with the Email you subscribed with. Starting a simulation needs an internet connection (your license must have been checked within the last 30 minutes; the app checks automatically while it's open). |
You only need to do this once, in order. The desktop setup wizard shows the steps for your phone's brand and ticks each step off automatically.
| Brand | Tap 7 times | Developer options |
|---|---|---|
| Google Pixel | Settings › About phone › "Build number" | Settings › System › Developer options |
| Samsung | Settings › About phone › Software information › "Build number" | Settings › Developer options (at the bottom) |
| Xiaomi / Redmi / POCO | Settings › About phone (or My device › All specs) › "OS version" (older MIUI: "MIUI version") | Settings › Additional settings › Developer options |
| OPPO / realme | Settings › About phone › Version › "Build number" | Settings › Additional settings › Developer options |
| OnePlus | Settings › About device › Version › "Build number" | Settings › System & updates › Developer options |
| vivo | Settings › System management › About phone › Software information › "Software version" | Settings › System management › Developer options |
| Other brands | Settings › About phone › "Build number" (maybe under "Software information") | Settings › System (or Additional settings) › Developer options |
Once Medjed GPS is installed, the phone can teleport, play routes and use the joystick by itself.
Tap "Joystick" 搖桿 at the bottom of the map and a joystick appears at the bottom left. Tap Floating joystick 懸浮搖桿 above it and the joystick floats on top of other apps, so you can keep walking after switching apps. The first time, allow Medjed to "Display over other apps".
| Button | What it does |
|---|---|
| ⠿ | Drag to move the joystick |
| 🚶 5 | Current speed (km/h). Tap to switch: walk → run → bike → car → custom |
| 🔓 / 🔒 | Lock: after you let go, keep walking in the last direction. Tap the joystick to stop |
| – / ✕ | Shrink to a small dot (tap to expand) / close the joystick |
| 📍 定位 | Location: paste or type coordinates (e.g. 25.0478, 121.5170; coordinates copied from a map app work too) → "Fly there" 飛過去; or switch to "★ Favorites" ★ 收藏 and pick a place |
| 🛣 路徑 | Route: pick a saved route → "📍 Fly to start" 飛到起點 or "▶ Fly there and start" 飛過去開始. You can turn on "Repeat when done" 走完重複; the speed is the one chosen on the joystick |
Tap Stop simulation 停止模擬 on the map, or "Stop simulation" on the notification, and the phone goes back to its real location. For 24 hours after stopping, the map shows "▶ Back to where I was" 回到剛才的位置; tap it to go back.
Either way works, and neither erases your favorites, routes or sign-in.
If the desktop app finds that the Medjed app on your phone is older than the one bundled with the PC, it asks "Update now?". Click OK and it installs it for you. You can also click "⚙ Tools › Install Companion APK" in the desktop app (it installs the version bundled with the desktop app, so update the desktop app to the latest version first).
Grouped by situation. Open an item to see the cause and what to do. The shaded lines are messages you'll see on screen. The phone app shows its messages in Chinese, so they're given in English with the on-screen Chinese next to them.
"Windows protected your PC"
Cause: The desktop installer doesn't have a code-signing certificate yet, so Windows SmartScreen shows an "unknown publisher" warning.
If Windows 11 "Smart App Control" is on, it may block the unsigned installer outright, with no "Run anyway" button. In that case, ask us on Discord.
Cause: What you tap differs by brand, and once enabled the option is often on a different page.
"Samsung's Auto Blocker stops apps from being installed from a computer. Turn it off in Settings › Security and privacy › Auto Blocker (you can turn it back on after installing)."
Cause: On One UI 6 or later, Auto Blocker blocks USB debugging and installs from a computer. When an install fails on a Samsung phone, the desktop app asks you to check this first, unless the cause is clearly something else (low storage, Android too old, disconnected).
"The phone blocked installing apps from a computer. Xiaomi / Redmi / POCO: open Settings › Developer options and turn on “Install via USB” (requires a Mi account). OPPO / vivo / realme: a confirmation appears on the phone during install — tap “Install”."
Cause: These brands block installing apps from a computer (USB) by default, or ask you to confirm on the phone.
"Google Play Protect blocked the install. When the phone asks, choose “Install anyway”, or temporarily turn off “Scan apps with Play Protect” in Play Store › profile icon › Play Protect › Settings."
Cause: Medjed GPS isn't installed from the Play Store, so Play Protect may block it or time out while checking it.
Cause: The second line of the message gives the reason, and the last line shows the error. Besides the cases above, common ones are:
"Couldn’t set it. Go to Developer options › Select mock location app and choose Medjed"
Cause: The phone didn't accept the setting from the PC, so you need to pick it once on the phone.
"adb (the Android connection tool) was not found. Please reinstall Medjed." / "The phone app installer (Companion APK) was not found. Please reinstall Medjed."
Cause: Files that come with the desktop app are missing (incomplete install).
"If steps 1 and 3 aren't done, your location can't be changed. You can come back later under Settings › Getting ready." 第 1、3 步沒完成的話,定位改不了。之後可以在「設定 › 開始前的準備」回來。
Cause: Step 1 (allow location) and step 3 (set Medjed as the mock location app) are required.
"No phone detected yet: use a USB cable that supports data (some cables only charge)" / "No Android phone found. Connect it with a USB cable and allow USB debugging on the phone."
Cause: A charge-only cable, the USB mode set to "charging only", USB debugging turned off, or a bad USB port.
"Look at your phone: “Allow USB debugging?” → tick “Always allow” → tap “Allow”. Don’t see it? Unplug and replug"
Cause: The phone hasn't allowed this PC to use USB debugging yet.
"The connection is stuck: if your phone shows “Allow USB debugging?”, tap Allow; otherwise unplug the USB cable and plug it back in."
Cause: The PC can see the phone but the connection is stuck, usually because the permission prompt hasn't been answered or the cable is loose.
"Another program (…) is using adb port 5037 and fighting Medjed for the phone connection. Close it (common culprits: phone manager apps, other emulators, Android Studio), then reconnect the phone."
Cause: Phone manager apps, other emulators or Android Studio on the PC fight Medjed for the phone connection. When the setup wizard detects this, it shows the message above (with the program's name in brackets).
"Device to set up:"
"No Android device to push to. Connect it with a USB cable and make sure it's detected." / "(phone name): could not connect (adb forward failed)" / "(phone name): the phone returned an error (…)"
Cause: Pushing only works with phones connected by USB and the MuMu emulator. It fails if the phone isn't detected, the screen is locked, Medjed isn't running on the phone, or the desktop app and phone app versions don't match.
"Could not reach the phone (adb failed)" / "Medjed on the phone isn't ready: make sure it's installed and selected in Developer options › Select mock location app."
Cause: The USB connection dropped, or Medjed GPS isn't installed on the phone or isn't set as the mock location app.
"Location wasn't changed" 定位沒有改到 "Go to Developer options › Select mock location app and choose Medjed" 請到「開發人員選項 › 選取模擬位置應用程式」選 Medjed
Cause: Medjed isn't the system's mock location app yet, so the system rejects the location it writes.
Cause: The phone's location is off, an older phone's location mode isn't "High accuracy", the app reading your location hasn't fetched it again, or (when using a PC) "Allow PC control" is turned off on the phone.
"So the system doesn't stop the simulation and the floating joystick after you swipe the app away" 滑掉 App 後模擬和懸浮搖桿才不會被系統關掉 "Xiaomi / OPPO / vivo also need Autostart turned on in App info" 小米/OPPO/vivo 另外要在 App 資訊裡開「自啟動」
Cause: The system's battery saving or cleanup features closed Medjed in the background.
Cause: Another mock location app is also writing a location, and the two keep overwriting each other.
"But the mock location app could not be set automatically: on the phone, go to Settings › Developer options › Select mock location app and choose Medjed, otherwise the phone will not move when you send a location."
Cause: Uninstalling and reinstalling clears the "Select mock location app" setting. The desktop app tries to restore it when it reinstalls the app, and shows this message if it can't.
Cause: Older versions of the phone app had two known problems, both fixed as of 1.0.4: after the app was swiped away from recent apps, a "Stop" sent from the PC didn't reach it on Android 12 or later; and starting a simulation without location permission crashed the app a few seconds later.
"Please allow Medjed to “Display over other apps”" 請允許 Medjed「顯示在其他應用程式上層」
Cause: The floating joystick needs the "Display over other apps" permission.
"Tap “Send” in Medjed to start a simulation first, then walk with the floating joystick" 先在 Medjed 裡按「傳送」開始模擬,再用懸浮搖桿走 / "License needs checking: please open Medjed" 授權需要確認:請打開 Medjed
Cause: The joystick walks from the current simulated location, so it does nothing once the simulation has stopped. Using the phone on its own also needs a valid trial or subscription.
"Xiaomi phones: turn on Medjed's “Display pop-up windows while running in the background” so 📍 and 🛣 on the floating joystick can open" 小米手機請開啟 Medjed 的「在背景執行時顯示彈出視窗」,懸浮搖桿的 📍 定位、🛣 路徑才打得開 / "The small window didn't open: allow Medjed to “Display pop-up windows while running in the background” in system settings" 小視窗沒有跳出來:請到系統設定允許 Medjed「在背景執行時顯示彈出視窗」
Cause: The phone stopped the app from opening a small window from the background, and the system itself gives no notice. This is most common on Xiaomi (MIUI, HyperOS), but other brands may block it too. When Medjed notices the small window didn't open, it shows one of the messages above.
"No trial or sign-in yet: open My account in Medjed" 還沒開始試用或登入:請打開 Medjed 的「我的帳號」 / "Go online to check your license, then try again" 要連上網路確認授權,請連網後再試一次 / "…, please open Medjed to see why" …,請打開 Medjed 查看
Cause: Using the phone on its own needs a valid trial or subscription, checked online within the 30 minutes before starting. If the license has stopped working, the "…" part gives the reason.
"Can't read these coordinates" 看不懂這個座標
Cause: The pasted text has no coordinate numbers in it, e.g. a short share link from a map app, or an address.
"Can't get the phone's location. Make sure location is on" 抓不到手機定位,請確認定位已開啟
Cause: The phone's location is off, or Medjed isn't allowed to use location.
"This isn't a valid GPX file" 這不是有效的 GPX 檔 / "No route found in the file (at least 2 points needed)" 檔案裡找不到路線(至少要 2 個點) / "File too large (50 MB max); shrink or split it with another tool first" 檔案太大(上限 50 MB),請先用其他工具縮小或分段 / "No file picker found: tap the GPX file in your file manager and choose “Open with Medjed”" 找不到檔案選擇器:可以在檔案管理員點 GPX 檔,選「用 Medjed 開啟」
Cause: The file isn't a valid GPX, has too few points, is over 50 MB, or the phone has no file picker.
"Medjed simulating" Medjed 模擬中
This notification, titled "Medjed simulating", appears while simulating. While a route is playing it says "Route playing …%" 路線播放中 …% ("Route paused …%" 路線暫停 …% when paused); when nothing is being simulated it says "Standing by · tap to open Medjed" 待命中 · 點這裡打開 Medjed. You can tap "Stop simulation" 停止模擬 right on it, plus "Pause / Resume" 暫停/繼續 while a route is playing; "Floating joystick / Hide joystick" 懸浮搖桿/收起搖桿 shows or hides the joystick. It doesn't make a sound or vibrate.
Whether the notification shows coordinates depends on the phone app's version (see Medjed Settings › Version 版本):
Can't see the notification:
"If … has an active subscription, the code has been sent (it arrives within about a minute; check your spam folder too). Still nothing? It may not be the Email you purchased with" 如果 … 有有效的訂閱,驗證碼已經寄出(約 1 分鐘內到,也看一下垃圾郵件)。一直沒收到:可能不是購買時用的 Email
Cause: Codes are only sent to Emails with an active subscription. The email may be in your spam folder, or the address isn't the one you paid with.
"Already sent just now; resend in … seconds" 剛剛已經寄過了,請 … 秒後再重新寄送 / "Too many sends; try again in … minutes" 寄送次數太多了,請 … 分鐘後再試 / "Too many attempts; try again in 10 minutes" 嘗試太多次了,請 10 分鐘後再試
Cause: Each Email can get one code every 60 seconds, with an hourly limit too; code entry attempts are also limited.
"Wrong code" 驗證碼錯誤 / "The code has expired; please resend" 驗證碼已過期,請重新寄送 / "Enter the 6-digit code" 請輸入 6 位數驗證碼
Cause: A typo, a code from an older email, or the code has expired.
"This Email has no active subscription" 這個 Email 沒有有效的訂閱 / "Your subscription has ended; renew it, then sign in" 訂閱已到期,請續訂後再登入
Cause: No active subscription was found for this Email: it isn't the Email you paid with, or the subscription has ended.
"The phone's time is wrong; turn on automatic date & time in system settings and try again" 手機時間不正確,請到系統設定開啟「自動設定時間」後再試 / "The phone's clock is off, so the server couldn't confirm the license. Set the phone's date and time to automatic, then push again." / "This PC's clock is off, so the server couldn't confirm the license. Set this PC's date and time to automatic, then push again."
Cause: The phone's or PC's clock is too far off (more than 5 minutes), so the server can't confirm the license.
"An internet connection is needed once to check your license before a simulation can start (a simulation that's already running keeps going for up to 6 hours offline)." 要連網確認一次授權才能開始模擬(已經在模擬中的,斷線 6 小時內不受影響)。 / "It's not your network: the server can't confirm licenses right now. It retries automatically, or tap “Retry” later. Simulations already running aren't affected." 不是你的網路:伺服器暫時沒辦法確認授權,會自動重試,也可以稍後按「重試」。已經在模擬中的不受影響。
Cause: When using the phone on its own, the license must have been checked with the server within the 30 minutes before a simulation starts (the app checks automatically while it's open, and checks again after the phone restarts).
"License no longer valid; simulation stopped" 授權失效,已停止模擬 "…. Location simulation stopped; the phone is back at its real location." …。模擬定位已停止,手機回到真實位置。
Cause: The notification and the app give the reason: the trial has ended, the subscription has ended, the subscription is paused, this phone was removed from the account (or the trial moved elsewhere), the sign-in is no longer valid, the phone's time is wrong, or the license hasn't been checked with the server for more than 6 hours. Simulations controlled by a connected PC aren't affected.
"This phone's trial has been used up; subscribe and sign in with your Email" 這支手機的試用已經用完了,可以訂閱後用 Email 登入 / "Too many trials were started from this network today; please try again tomorrow" 這個網路今天開始的試用太多了,請明天再試
Cause: Each phone can use the trial only once (deleting and reinstalling the app doesn't reset it), and each network can only start a limited number of trials per day.
Cause: A PC's trial can only be used by one phone at a time, and if the PC has a subscription, the phone needs to sign in with Email itself. After pushing, the desktop app says whether the phone can be used on its own:
"🚫 Expired — coordinates cannot be sent. …"
Cause: When the PC controls the phone, the desktop app's license is what counts, and its trial or subscription can no longer be used.
"No sign-in needed while connected to a PC and controlled by it." 接上電腦、由電腦控制時不用登入。
Cause: The phone's sign-in and trial only cover simulations started on the phone itself. When the PC is in control, the PC's license is what counts.
"Sign-in is no longer valid; please sign in again" 登入已失效,請重新登入 / "Sign-in is no longer valid; sign in again to use the phone on its own" 登入已失效,手機單獨使用要重新登入
Cause: The server no longer recognizes this phone's sign-in, so the phone goes back to "not signed in".
"This account already has another device registered: …" 這個帳號已經登記了另一支裝置:… "After switching, the old phone can't be used on its own. You can switch once every 7 days." 換過來後,舊手機就不能單獨使用。7 天內只能換一次。
Cause: Each account can register 1 PC + 1 iPhone + 1 Android phone, and the Android spot is still taken by another phone.
"You can only switch phones once every 7 days; you can switch to this one after …" 7 天內只能換一次手機,… 之後才能換到這支。
Cause: One account can switch Android phones only once every 7 days.
How automatic backup works: On Android 10 or later, with Settings › Data backup › "Daily automatic backup" 每天自動備份 on (it's on by default), Medjed backs up automatically when you open the app (and checks again every hour while the app is open): on the first open of the day, or when your favorites or routes have changed, it saves a copy to the "Download/Medjed" folder on your phone. Only one is kept per day (the newer one replaces the older). Nothing is backed up while you have no favorites or routes. Only the 7 most recent automatic backups are kept, and days you don't open the app don't produce a backup. Settings › Data backup › "Last automatic backup" 上次自動備份 shows when the last one was made.
Uninstalling the app doesn't delete the "Download/Medjed" folder. Backups don't include your sign-in.
"This isn't a Medjed backup file" 這不是 Medjed 的備份檔 / "Can't open this file" 打不開這個檔案 / "No file picker found" 找不到檔案選擇器
Cause: The file you picked isn't a Medjed backup, or the phone has no file picker.
Cause: Your sign-in isn't in the backup. After reinstalling or clearing data, the phone gets a new device identity, and the server may treat it as a different phone.
"This license is bound to another PC (…). Unbind it on that PC with "Switch PC", or contact support on Discord." / "You can switch PCs once every 7 days. Please try again in … hours."
Cause: The desktop license is still bound to the old PC, and the phone hasn't allowed the new PC for USB debugging yet.
"Please allow Medjed to “Install unknown apps”, then come back and tap “Install” again." 請允許 Medjed「安裝不明的應用程式」,回來再按一次「安裝」。
Cause: The first time you update from inside the app, Medjed needs permission to install apps.
"Can't connect; check your network and try again." 無法連線,請確認網路後再試一次。 / "Download interrupted; please try again" 下載中斷,請再試一次 / "Download failed (…)" 下載失敗(…) / "Version … is out, but the download isn't ready yet; please try again later." 有新版 …,但下載檔還沒準備好,請稍後再試。
Cause: An unstable network, an interrupted download, or a just-released version whose download isn't up yet.
"The Medjed Companion on this phone was signed with an old key and must be removed and reinstalled."
Cause: The phone app now uses a new signing key. Android doesn't let an app with a new key install over the old one, so installing the new version directly on the phone fails too.
"Could not back up the favorites on the phone first (the Companion app on the phone did not respond)." / "Could not reach the Companion app on the phone (adb forward failed), so the favorites on the phone could not be backed up first." "Open Medjed Companion on the phone and press “Install Companion” again. Remove and reinstall anyway? Favorites not yet synced to this PC will be lost."
Cause: The old app on the phone isn't running or isn't responding, so the PC can't get the favorites.
"The old Medjed app was removed from the phone, but the new version could not be installed."
Cause: The old version was removed, but installing the new one was blocked (the reason is in the same message).
Cause: Only the MuMu emulator is supported. It also won't be detected if it hasn't finished starting up, or another program has taken the connection.
Note: The emulator doesn't need USB or USB debugging, but you still need to install the phone app and set it as the mock location app.
"Once deleted, this place will also be deleted on the PC the next time you push to it." 刪除後,下次推送到電腦時電腦上的這個地點也會一起刪掉。
Cause: The PC and the phone sync both ways by merging, and deletions sync too. This is normal.
No. Medjed uses Android's built-in "mock location" feature.