Storage exhaustion on Android devices causes app validation failures and API call errors
Android
Title: App validation failures and API errors caused by device storage exhaustionWhen an Esper-managed Android device runs out of storage, app validation failures and API call errors occur — often without a clear on-screen message to indicate the root cause.
Why this happens
Android requires free storage headroom to write temporary files during app validation and API operations. When available storage drops below a safe threshold, these write operations fail and surface as generic app or connectivity errors. Devices running in Kiosk Mode are especially prone to going unnoticed because user-facing storage warnings are suppressed.
Step 1: Check device storage in the Esper Console
- Navigate to Devices & Groups → [Device Name] → Device Details.
- Scroll to the Storage section and review the used and available storage breakdown.
- If available storage is below 500 MB, continue to the steps below.
Step 2: Collect diagnostic logs
Choose the option that matches your device's current mode.
Option A — Remote bug report (standard devices)
- Go to Devices & Groups → [Device Name] → Actions.
- Select Request Bug Report and wait for the report to generate.
- Download the report and search it for
ENOSPCevents, storage-related errors, or app crash entries — these confirm storage exhaustion as the cause.
Option B — ADB bug report (Kiosk Mode devices)
Remote bug reports may fail on Kiosk Mode devices. Use ADB as an alternative.
- Confirm ADB is enabled on the device and connect via USB or TCP/IP.
- Run the following command to capture the bug report:
adb bugreport bugreport_devicename.zip - Open the resulting file and search for
ENOSPC, storage warnings, or crash logs tied to your app's package name.
Step 3: Identify which apps are consuming storage
Run these ADB commands to pinpoint the source of storage consumption before taking any corrective action.
- View overall disk statistics:
adb shell dumpsys diskstats - View filesystem usage:
adb shell df -h - Check a specific app's storage footprint, replacing
<com.package.name>with the actual package name:adb shell du -sh /data/data/<com.package.name>
Step 4: Clear app cache remotely
- Go to Devices & Groups → [Device Name] → Apps.
- Select the app consuming excess storage.
- Select Clear Cache and wait for the action to complete.
- Return to Device Details → Storage and confirm available storage has increased.
Step 5: Factory reset (last resort)
If the device is unresponsive and storage cannot be cleared remotely, a factory reset will erase all device data and restore the device to a provisionable state.
- Go to Devices & Groups → [Device Name] → Actions → Factory Reset.
- Confirm the action. The device will reboot and all local data will be erased.
- Re-provision the device using your existing Blueprint.
Preventing storage exhaustion
- Work with your app development team to implement log rotation and remote data offloading so large files do not accumulate on-device.
- Review your blueprint in Apps & Configuration → Blueprints to confirm no configuration is enabling excessive local logging or caching.
- If multiple devices in the same group show identical symptoms, check whether a recently pushed blueprint or app update is common to all affected devices — a new app release may be generating excessive local data.
If this doesn't resolve it
If storage appears sufficient but app validation failures or API errors persist, the issue may have a different root cause. Before contacting Esper Support, collect the following:
- The bug report file from Step 2
- ADB output from the
dumpsys diskstatsanddf -hcommands in Step 3 - The device's serial number and Esper device ID (visible in Devices & Groups → [Device Name] → Device Details)
- The name and version of the app experiencing failures
- Whether the issue affects a single device or multiple devices in the same group
Still need help?
Still need help? When you submit a support ticket, please include your device storage usage details, the specific apps experiencing validation failures, and any API error messages you're receiving.
Please sign in to leave a comment.
Comments
0 comments