Skip to main content

Installing Menuboard Manager on a Locked-Down Android Signage Player (No Google Play)

How to get Menuboard Manager onto a locked-down commercial Android signage player (like the media stick behind a Keyser all-weather drive-thru display) when Google Play won't install it — using ADB sideloading, with a browser/PWA fallback.

Written by Marc Rosenberg

Installing Menuboard Manager on a Locked-Down Android Signage Player (No Google Play)

Some commercial signage hardware ships as a sealed Android media player running a locked-down build. It usually does have a handful of apps you can open — typically a browser, a file manager, and a camera — but no Google Play Store and no built-in way to install new apps (no sideload/APK-install function exposed in Settings). A common example: a customer installs a Keyser all-weather display in their drive-thru, then asks us to supply Menuboard Manager as the CMS behind it — including using one of the drive-thru screens (in full or in part) as a customer-facing order confirmation display tied to Toast. When you go to install the Menuboard Manager Player App the normal way, the Play Store does nothing.

Real-world example. The Keyser drive-thru units run a Quber media player (model QUBER_QR1G_M110S, Android 9). Settings exposes the usual Android sections plus a Quber entry (Product Version, ADB, Display Rotation), and the device ships with about 7 apps — including Lightning (the default browser), Files, Explorer, and a camera. Bluetooth is available under Connected devices. There is no Play Store and no in-Settings way to install an APK, which is what makes the methods below necessary.

This guide explains why that happens and walks through the two ways to get Menuboard Manager onto that kind of device:

  1. Sideload the APK — via the device browser, a USB drive, or ADB (the correct, permanent fix when the hardware allows it).

  2. A browser/PWA fallback to get a screen live when sideloading is blocked — which, on the most locked-down units, it can be.

The short version: Many low-cost commercial signage sticks and media boxes run uncertified Android without Google Mobile Services (GMS), so the Google Play Store can't install apps on them — and any advice to "install it from the Play Store in the browser" will fail. Because Menuboard Manager is our own app, you don't need the Play Store at all — sideload the signed APK and it runs regardless of GMS certification. Easiest is to download the APK straight from a hosted URL in the device browser (or from a USB stick); ADB is the fallback for fully locked-down units. If ADB-over-network refuses the connection, flip the device to network mode once over USB with adb tcpip 5555.


Why the Google Play Store doesn't work on these devices

The Play Store isn't a single standalone app — it depends on several Google Mobile Services (GMS) components (Google Play Services, Google Services Framework, and the Play Store client) working together, installed and licensed via Google's device certification.

Low-cost commercial signage players and generic Android "media boxes" often ship with an uncertified AOSP (Android Open Source Project) build to avoid Google's licensing costs. On those devices:

  • There's no real on-device Play Store client, or it isn't GMS-certified.

  • Google sign-in, Play Protect, and app updates may fail or show "Device not certified."

  • Installing just the Play Store APK by hand usually won't fix it, because the underlying GMS framework isn't there.

The classic symptom: the Play Store "Install" button does nothing

If you open the Play Store in the device's web browser (play.google.com), sign in, and click Install — or see the button change to "Install on additional devices" — and nothing happens, that's the tell.

The web Play Store doesn't download and install apps itself. It sends an install request to a registered, GMS-certified Play Store app running on the device, which then performs the install. If the signage player has no such on-device Play Store, there's nowhere for the request to land, so the button silently does nothing. This is not a permissions problem — there's simply no receiver.

Takeaway: Stop fighting the Play Store on a device that was never certified to run it. Sideload instead.


Method 1 — Sideload the Menuboard Manager APK (recommended)

Because Menuboard Manager is our own application, our support team can provide a signed release APK. Sideloading it bypasses the Play Store and GMS entirely, so it works even on uncertified hardware.

Need the APK? Contact support if your device doesn't have access to the Google Play Store, the Amazon Fire TV app store, or the Amazon Signage store and you need to side-load the APK. The Menuboard Manager Support Team can provide the APK for download. Include the device make/model and Android version so we send a build compatible with it.

Setup tip: A cheap wireless USB mini keyboard/trackpad (~$12) makes navigating the device's Settings, browser, and file manager far easier than fighting the screen's remote as a mouse. Two catches on signage players: the Android player often has only one usable USB port (the other USB ports belong to the display itself), and a wireless keyboard's USB receiver dongle occupies that one port — so you can't have the keyboard and a USB thumb drive plugged in at once. A Bluetooth keyboard/trackpad sidesteps that conflict if the device supports it.

There are three ways to get the APK onto the device. Path A (browser download) is the recommended procedure for the Keyser/Quber units — it needs no computer and, crucially, no free USB port. Paths B and C are fallbacks.

Field note — sideloading can fail entirely on sealed units. On at least one real install, none of the three paths below worked: the Android player had only one usable USB port, which was occupied by the wireless keyboard needed to control the screen (so no USB drive could be attached at the same time); when a USB drive was tried, the player didn't detect the drive or the APK on it; and the network/ADB pivot was blocked, apparently by closed ports. If you hit the same wall, don't burn hours on it — go to the browser / PWA fallback, which is often the only thing that will get a screen live on hardware this locked down.

Path A (easiest) — Download the APK in the device's browser

Once support has sent you a download link for the APK, you can install without a computer at all. This is the expected method for the customer to run on the Keyser/Quber units.

The exact wording varies slightly by device and Android version, but this flow is universal for sideloading:

  1. Download the APK. In the device's browser (Chrome, or the built-in Lightning browser on the Quber units), open the download link support sent you. Watch for the download notification / progress bar and let it finish. Do not go to play.google.com — as explained above, that does nothing on these devices.

  2. Open the downloaded file. Pull down the notification shade and tap the completed download, or open the Files / My Files / Downloads app and tap the .apk file.

  3. Handle the "blocked" security prompt. Android will very likely say "For your security, this source is not allowed to install unknown apps." Tap Settings right on that warning — it jumps straight to the permission toggle for whichever app tried the install (usually the browser or Files). Flip "Allow from this source" to ON, then press back.

  4. Re-open the APK the same way (notification or Files app) now that the permission is granted.

  5. Package installer screen appears, listing what the app can access. Tap Install.

  6. If Play Protect offers to scan the app first, you can dismiss/skip it — there's no Play Store account tied to this device anyway.

  7. Wait for "App installed", then tap Open or Done. The Menuboard Manager icon should now appear in the app list / home screen (if it doesn't, see Step 7 of Path C to launch it via ADB).

Path B — USB flash drive + built-in File Manager (not recommended on these units)

Prefer Path A instead. On the Keyser/Quber players there is only one usable USB port, and it's occupied by the wireless keyboard/trackpad's USB adapter you need to control the screen. To use a flash drive you'd have to unplug that adapter — leaving you driving the entire install with the remote control as a mouse, which is extremely slow and painful. Since Path A (browser download) needs no USB port at all, use it whenever the device can reach the download link support sent you. Only fall back to USB if the browser download is impossible (e.g., no network) and you have a Bluetooth keyboard so the USB port is free.

If you must use USB anyway:

  1. Copy the APK onto a USB flash drive from your computer.

  2. Plug the drive into the signage player.

  3. Enable "Install unknown apps" for the File Manager (see Path A, step 1).

  4. Open the built-in File Manager, browse to the drive, and tap the .apk to install.

Watch for two failure modes. (1) If the player's single USB port is taken by your keyboard dongle, you can't attach the drive at the same time — see the setup tip above (use Bluetooth, or the remote as a mouse). (2) Some locked-down players won't detect the USB drive at all (the File Manager shows nothing when you plug it in). Try re-formatting the drive as FAT32, a different/smaller drive, or a different port. If the player simply never mounts USB storage, skip to Path C or Method 2.

Path C (advanced) — ADB over the network

Use this when you can't get an APK onto the device directly and you have a computer available.

Heads-up: on some sealed units this path is a dead end too — the ADB TCP port (5555) is firewalled/blocked, or the on-screen toggle never opens a network listener even after the USB tcpip step. If you exhaust the steps below without a connection, it's not worth grinding on — use Method 2.

What you'll need

  • The Menuboard Manager Player App APK (from support).

  • A computer with ADB installed (Mac instructions below; Windows/Linux equivalents work too).

  • The signage player and computer on the same network, or a USB cable to reach the device's service port.

Step 1 — Install ADB on your computer

On a Mac, the easiest route is Homebrew:

brew install android-platform-tools

That gives you the adb command without installing all of Android Studio.

Step 2 — Enable Developer Options and ADB on the device

On the signage player (a wireless keyboard/trackpad helps here):

  1. Go to Settings → About / Device.

  2. Tap Build Number 7 times until it says "You are now a developer."

  3. Back in Developer Options, turn on USB debugging (and Install via USB / Unknown sources if those options appear).

While you're here, note the exact chipset and Android version — some of these boxes report a userdebug build, which is generally more permissive about sideloading, and knowing the Android version tells us which APK build to send you.

Step 3 — Find the device's IP address

Look in the device's Network / Ethernet or Device Info screen for its IPv4 address (something like 10.10.10.105). Wired Ethernet is more reliable than Wi-Fi for this.

Sanity-check the network config while you're here. On one install the device's IP was 10.10.10.105/24 (subnet 10.10.10.0) but the gateway read 10.1.10.1 — a different subnet the device can't actually route to. A mismatched IP/gateway pair like that will break internet access and ADB reachability, so confirm the gateway is on the same subnet as the device's IP.

Step 4 — Try connecting ADB over the network

adb connect 10.1.10.105:5555
adb devices

If you see the device listed as device, skip to Step 6.

Step 5 — If you get "Connection refused" (the common case)

Connection refused (not a timeout) is actually good news: your computer is reaching the device, but nothing is listening on port 5555. You can confirm exactly that:

nc -zv 10.1.10.105 5555

  • "Connection refused" → reachable, but the ADB network daemon isn't running. This is the usual state.

  • "Timed out" → a routing/firewall problem instead (see Troubleshooting).

The cause: on many of these OEM signage builds, the on-screen "ADB" toggle only enables USB debugging — it does not start a TCP listener. Rebooting won't help, because the network daemon was never turned on. You have to flip it to network mode once over USB:

  1. Find the device's service USB port (often labeled "Android USB", separate from the media/content USB ports; sometimes behind a service panel on a mounted display).

  2. Connect it to your computer. If your Mac only has USB-C, use a USB-A-to-USB-C cable or adapter.

  3. Confirm the device appears over USB (approve any "Allow USB debugging?" prompt on the screen — check "Always allow from this computer"):

    adb devices

  4. Switch ADB into network (TCP/IP) mode:

    adb tcpip 5555

  5. Unplug USB and reconnect over the network:

    adb connect 10.1.10.105:5555

No accessible USB port? Fully sealed installs sometimes expose USB debugging in settings but give you no port to use it. In that case, ask support whether the device vendor offers a provisioning / MDM tool to push the APK remotely.

Step 6 — Install the APK

adb install ~/Downloads/menuboard-manager.apk

A Success message means it's installed. Common failures:

  • INSTALL_FAILED_USER_RESTRICTED — the kiosk launcher is blocking installs outside its allowed list. The device is locked down at the OS level; contact support about the vendor's provisioning path.

  • INSTALL_FAILED_OLDER_SDK — the APK targets a newer Android version than the device runs (e.g., installing a modern build on Android 9). Ask support for a build with a compatible minSdkVersion.

Step 7 — Launch the app on a kiosk device

Even though the device has other apps you can open, a locked-down launcher may not surface a newly sideloaded app in its app list. If it doesn't show up, launch it from your computer instead:

adb shell pm list packages | grep menuboard
adb shell am start -n <package.name>/.MainActivity

Once it opens the first time, Menuboard Manager displays "Installation Complete. Unit Activation Required!" with an activation code. Provide that code to support to activate the unit — same as any other Android install (see Android — Device Setup, Provisioning & Troubleshooting).

Remote-support fallback — TeamViewer QuickSupport

If the customer can't complete the sideload on their own, Menuboard Manager Support can remote in and install the APK for them. The lightweight tool for this is TeamViewer QuickSupport (no install/admin rights needed on the far end — it just runs and shows a session ID).

  1. Have the customer sideload TeamViewer QuickSupport onto the device the same way (Path A) — APK from APKMirror: https://www.apkmirror.com/apk/teamviewer/quicksupport/ (a known-good build used in the field is QuickSupport 15.76.102).

  2. The customer opens QuickSupport and reads you the session ID.

  3. Support connects from the TeamViewer desktop client, then downloads and installs the Menuboard Manager APK on the device remotely.

Screen sharing/remote control on Android often needs an add-on for the device brand (e.g., a "TeamViewer Add-On:

" from the same source) before full remote control works — install that too if QuickSupport prompts for it.


Method 2 — Browser / PWA fallback

When sideloading fails — and on the most locked-down units it does (see the field note above) — you can point the device's built-in browser at a hosted menu page and run it full screen. This is what actually got a screen live in the field example where every sideload path was blocked, so treat it as a real option, not just a placeholder.

Understand the trade-off: this shows a hosted page, so you don't get the full Player App's remote management, unit activation, on-screen alerts, or live POS-driven updates. It's ideal as an immediate stopgap, and it's an acceptable longer-term answer when the hardware genuinely can't run the app — but move to the sideloaded Player App (Method 1) whenever the device allows it.

  1. Host the menu on a URL the device can reach — this can be as simple as an exported menu image (e.g., https://menuboardmanager.com/taco1.jpg) or an HTML page.

  2. On the device, open a browser and load that URL. The menu displays immediately.

  3. Enable Immersive Mode (often under Settings → Accessibility on these players) to hide the Android system/navigation bar.

  4. Hide the browser's address bar — this is the hard part, and it depends entirely on which browser you have. See below.

The built-in browser matters (Immersive Mode is not enough)

The single biggest gotcha here: Immersive Mode only hides Android's own system bars — it does not hide the browser's address bar. Getting rid of the address bar is up to the browser.

Many signage players ship a lightweight built-in browser rather than Chrome — for example Lightning (a minimal open-source Android browser). In the field, the built-in Lightning browser displayed the hosted menu image fine, but could not hide its address bar: Immersive Mode removed the bottom navigation bar, yet the browser's URL bar stayed on screen. Lightning does not support Chrome's installable-web-app flow, so the manifest trick below won't help it.

Your options, best first:

  • Check the built-in browser's own settings for a "Fullscreen" option. Some lightweight browsers (Lightning included) have a fullscreen toggle in their display settings that hides the toolbar. Try this first — it needs nothing else.

  • Install Chrome and use the PWA/manifest trick (below). Chrome cleanly drops the address bar for an installed web app. The catch: on a GMS-less signage player there's no Play Store to install Chrome from, so getting Chrome on the device is itself a sideload — you're back to Method 1's Path A/B/C for the Chrome APK. If any of those paths do work, installing Chrome is worthwhile, since it unlocks the manifest approach.

  • Use a dedicated kiosk-browser app (e.g., Fully Kiosk Browser) if you can sideload one — these are purpose-built to run a URL full screen with no chrome and to relaunch on boot.

Getting rid of the address bar in Chrome (PWA/manifest)

This section applies once you have Chrome on the device. A plain "Add to Home Screen" shortcut still shows the address bar, because the page isn't an installable web app. To get a truly clean full screen, the hosted page needs a web app manifest that requests fullscreen display.

Note: a bare image URL (like taco1.jpg) has no <head> to attach a manifest to. Wrap the image in a minimal HTML page first — e.g., a page whose body is just <img src="taco1.jpg" style="width:100%;height:100%;object-fit:contain"> — then point the device at that page and add the manifest to it.

Add to the page's <head>:

<link rel="manifest" href="manifest.json">

And create manifest.json alongside it:

{
  "name": "Drive-Thru Menu",
  "short_name": "Menu",
  "start_url": "/",
  "display": "fullscreen",
  "background_color": "#ffffff",
  "theme_color": "#2e7d32",
  "icons": [
    { "src": "icon.png", "sizes": "192x192", "type": "image/png" }
  ]
}

The key field is "display": "fullscreen" — that's what tells Chrome to drop the address bar when the page is launched from the home screen. After adding it:

  1. Delete the old home-screen shortcut (it won't upgrade itself).

  2. Reload the page once in Chrome so it picks up the manifest.

  3. Add to Home screen again — with the manifest, Chrome recognizes it as an installable app.

  4. Open the new shortcut. Combined with Immersive Mode, you now get a clean full screen with no address bar and no system nav bar.

Remember the trade-off: the browser fallback shows a hosted page with no connection to Menuboard Manager's management, playlists, alerts, or live Toast pricing. Move to the sideloaded Player App (Method 1) whenever the device allows it.


Using one screen as a Toast order confirmation display

In drive-thru setups, customers often want one of the screens to double as a customer-facing order confirmation display — showing the guest their itemized order and running total as it's rung in. That's a separate, POS-driven feed from the Menuboard Manager CMS content:

  • The order confirmation feed comes from Toast's Guest-Facing Display (GFD), driven off the terminal itself rather than from Menuboard Manager. Toast Support can confirm whether GFD is enabled on your account and which of their guest-display options fits your terminal.

  • Menuboard Manager drives the menu/promo content on the other screens.

We're a Toast Development partner. Menuboard Manager has integrated directly with Toast for years, so the CMS content and the POS-driven order confirmation feed are designed to live side by side in the same install.

Dual-purposing the order confirmation screen (Screen #3)

The screen used for order confirmation can also have Menuboard Manager installed on it, so the customer can show CMS content on it instead of order confirmation whenever they want. In that arrangement:

  • The display normally sits on its HDMI input, receiving the order confirmation video from the Toast terminal via an HDBaseT extender (sender → Cat6 → receiver → HDMI into the display).

  • If the Android display offers "Auto Source Switching," set it to ON, and set "Primary Input" to HDMI. That way it defaults to the order confirmation video, but you can switch to the built-in Menuboard Manager app when needed.

⚠️ WARNING: NEVER connect HDBaseT devices to a network switch. The Cat6 run between the HDBaseT sender and receiver is point-to-point only — it carries HDMI-over-Cat6, not Ethernet. Plugging either end into a network switch can damage the equipment and will not work.

Plan which physical screen carries which feed before final install, especially outdoors where sunlight readability and weatherproofing matter.


Troubleshooting quick reference

Symptom

Likely cause

Fix

Play Store "Install" / "Install on additional devices" does nothing

No GMS-certified on-device Play Store

Sideload the APK (Method 1)

adb connectConnection refused

Network ADB daemon not listening (toggle enables USB ADB only)

Connect USB, run adb tcpip 5555, then reconnect

adb connecttimed out

Routing/firewall between computer and device

ping the device; check for multiple network interfaces / VPN on your computer

No internet / device unreachable at all

IP and gateway on different subnets (e.g. IP 10.10.10.105/24, gateway 10.1.10.1)

Fix the network config so the gateway is on the same subnet as the device IP

"Install it from the Play Store in your browser" advice fails

No on-device GMS Play Store to receive the web install

Ignore that path — sideload the APK (Method 1)

INSTALL_FAILED_USER_RESTRICTED

Kiosk launcher blocks non-allowlisted installs

Use the vendor's provisioning/MDM path — contact support

INSTALL_FAILED_OLDER_SDK

APK targets newer Android than the device

Request a compatible build from support

App installs but never appears in the app list

Locked-down launcher doesn't surface sideloaded apps

Launch via adb shell am start -n <package>/.MainActivity

USB thumb drive not detected by the player

Player won't mount USB storage / wrong format

Format the drive FAT32, try another drive/port; if it never mounts, use Path A or Method 2

Immersive Mode hides the nav bar but the browser address bar stays

Immersive Mode only hides Android system bars, not browser chrome (e.g. built-in Lightning browser)

Use the browser's own Fullscreen setting, install Chrome + the manifest trick, or a kiosk-browser app

"Device not certified" in Play Store

Uncertified AOSP build (no GMS)

Expected on these devices — sideload instead of using Play Store


A note on device support

Menuboard Manager runs on a wide range of Android media players and smart displays, but not all Android devices are fully supported. Low-cost, non-commercial, or uncertified signage boxes may show app freezing/crashing, unreliable connectivity, or kiosk/auto-start incompatibilities. Your device must run Android 8.0 or later. For a guaranteed-supported setup, use qualified commercial hardware — see Supported Hardware and the Android — Supported Devices Disclaimer.


Related Articles

Did this answer your question?