Enable Android Device Owner Kiosk Mode Without Root

13 min read Step‑by‑step guide to enable Android Device Owner (kiosk) mode using ADB, without rooting, and keep your device locked to a single app. September 27, 2026 22:30 How to Set Up Android Device Owner Kiosk Mode Without Root

Why Use Device Owner (Kiosk) Mode?

When you need a device to run only one application – for example a point‑of‑sale app, a digital signage player, or a classroom learning tool – Android’s Device Owner (sometimes called kiosk mode) is the cleanest solution. Unlike a simple screen‑pinning lock, Device Owner disables the status bar, home button, recent‑apps switcher, and most system settings, making it hard for a casual user to break out of the intended app.

Most tutorials assume you have a rooted device or a custom ROM, but Android provides a native way to claim Device Owner via ADB. The process works on Android 5.0 (Lollipop) and newer, though the exact UI wording may differ between manufacturers.

Before You Start

  • Backup important data. Setting a device owner wipes the device’s user profile (the primary user). All apps, accounts, and personal files will be removed.
  • Charge the device to at least 50 % to avoid interruptions during the factory reset.
  • Connect the device to a stable Wi‑Fi network – you’ll need it to download the app you plan to lock.
  • Install the latest platform-tools (ADB) on your PC. You can get it from the Android developer site; the zip is self‑contained and does not require installation.
  • Enable Developer options on the phone: Settings > About phone > Tap “Build number” seven times.
  • Enable USB debugging: Settings > System > Developer options > USB debugging.
  • Make sure the PC is trusted: when you plug the phone in, tap “Allow” on the dialog that asks for USB debugging permission.

Step 1 – Prepare the Kiosk Application

The app you want to lock must be a device‑owner‑compatible package. Most modern apps that are intended for enterprise deployment already support it, but if you are using a regular Play Store app you can still force it, though some features (like disabling the status bar) may be limited.

  1. Install the target app from Google Play or sideload the APK using adb install path/to/app.apk.
  2. Note the app’s package name. You can find it with adb shell pm list packages | grep part‑of‑name or by looking at the Play Store URL.

For this tutorial we’ll use the example package com.example.kiosk. Replace it with the actual package name of your app.

Step 2 – Factory Reset the Device

Device Owner can only be set on a device that has no existing user data. The safest way is to perform a factory reset.

  1. Open Settings > System > Reset options > Erase all data (factory reset).
  2. Confirm the reset and let the device restart. It will boot into the initial setup wizard.

Do not complete the setup wizard yet; stop at the screen that asks you to connect to Wi‑Fi.

Step 3 – Connect ADB During the Setup Phase

Android allows ADB connections even before the first user is created, as long as USB debugging is enabled in the developer options. Because the device is fresh, you need to enable it via a special shortcut:

  1. Tap the Build number seven times on the “About phone” screen (you may need to go to Settings > About phone first). This reveals Developer options.
  2. Return to the main Settings screen, open Developer options, and toggle USB debugging on.
  3. Connect the device to your PC via USB.
  4. On the PC, open a terminal and run adb devices. You should see the device listed as device. If it shows unauthorized, check the phone for a permission dialog and tap “Allow”.

If the device does not show up, verify the USB cable, try a different port, and make sure the appropriate drivers are installed (Windows: Google USB Driver; macOS/Linux: no extra driver needed).

Step 4 – Set the Device Owner

Now that ADB can talk to the device, you can tell Android that your chosen app should become the Device Owner. This is a single‑line command:

adb shell dpm set-device-owner com.example.kiosk/.DeviceAdminReceiver

Replace com.example.kiosk/.DeviceAdminReceiver with the full component name of the app’s DeviceAdminReceiver. Most apps expose it as .admin.DeviceAdminReceiver or similar. If you are unsure, you can list the receivers with:

adb shell dumpsys package com.example.kiosk | grep DeviceAdminReceiver

When the command succeeds, you will see a message like “Success: Device owner set”. The device will automatically restart and finish the setup wizard, but most UI elements will be hidden.

Step 5 – Lock Down the Device (Optional but Recommended)

Device Owner gives you programmatic control over many policies, but you can also apply a few common restrictions without writing code, using ADB’s dpm set‑user‑restriction command.

  1. Disable the status bar: adb shell dpm set-status-bar-disabled true
  2. Prevent USB file transfer: adb shell dpm set-usb-data‑signaling disabled (available on Android 9+).
  3. Block safe‑mode entry: adb shell dpm set-safe‑mode‑disabled true
  4. Hide the navigation bar (if supported): adb shell settings put global policy_control immersive.full=*

These commands are optional; the core kiosk experience already blocks most exit routes. Test each restriction on your device to ensure it behaves as expected.

Step 6 – Verify the Kiosk Is Working

After the reboot, the device should launch the kiosk app automatically. Try the following checks:

  • Press the home button – it should do nothing or keep you in the app.
  • Swipe down from the top – the notification shade should be disabled.
  • Long‑press the power button – the power menu may still appear, but selecting “Power off” is usually allowed.
  • Attempt to open Settings via an intent (e.g., tap a link that opens Settings). The request should be blocked.

If any of these actions still work, double‑check the dpm commands you ran and verify that the app’s DeviceAdminReceiver is correctly registered.

Step 7 – Exit Kiosk Mode (When You Need to Re‑Use the Device)

Because the device is now owned, you cannot simply uninstall the app or clear its data. To return the device to normal consumer mode you have two safe paths:

  1. Factory reset from recovery:
    • Power off the device.
    • Boot into recovery (usually Volume Up + Power, varies by manufacturer).
    • Select “Wipe data / factory reset”. This removes the Device Owner status.
  2. Use ADB to clear the owner (if you still have access):
    adb shell dpm remove‑device‑owner

    This command only works if the device is not locked by a policy that prevents ADB access. After removal, perform a normal reboot.

Remember that a factory reset will erase all user data, so back up anything you need before you start the kiosk deployment.

Troubleshooting Common Issues

1. “Error: Device owner already set”

This means a previous owner is still present, usually after a failed reset. Perform a full factory reset from recovery (see Step 7) and start again.

2. “Error: No such component”

The component name you supplied does not exist. Verify the package name and the exact class name of the DeviceAdminReceiver. Use the adb shell dumpsys package command shown earlier to locate it.

3. The status bar still appears after disabling it

Some OEM skins (e.g., Samsung One UI) ignore the generic dpm set-status-bar-disabled command. In those cases you may need to use a third‑party kiosk app that implements OEM‑specific APIs, or resort to a custom ROM for full control.

4. ADB cannot connect after the device boots

On some devices USB debugging is automatically disabled after a Device Owner is set. To re‑enable it you must connect the device in “fastboot” mode and flash a temporary recovery that enables debugging, or perform another factory reset and set the owner again with debugging enabled before the first boot.

Best Practices for a Stable Kiosk Deployment

  • Use a dedicated Google account. Create a brand‑new account for the device; this avoids accidental sync of personal data.
  • Lock the bootloader (optional). If the device supports it, enable the locked bootloader to prevent flashing unofficial images.
  • Schedule periodic reboots. Some apps leak memory over long uptimes. Use adb shell reboot via a scheduled task on a remote server, or configure the app’s own auto‑restart feature.
  • Monitor logs remotely. Run adb logcat over Wi‑Fi (if allowed) or use a lightweight log‑forwarder built into the kiosk app to catch crashes before they affect users.

Summary

By following the steps above you can turn any Android phone or tablet into a hardened kiosk without rooting or installing a custom ROM. The process hinges on a clean factory reset, enabling USB debugging early, and using ADB’s dpm commands to claim Device Owner and apply sensible restrictions. While the method works on most stock Android builds, OEM‑specific skins may require additional tweaks. Always keep a backup plan – a factory reset – handy in case the device needs to be repurposed later.

User Comments (0)

Add Comment
We'll never share your email with anyone else.