DEV.co
Open-Source Databases · amitshekhariitbhu

Android-Debug-Database

Android Debug Database is a browser-based debugging tool for Android developers to inspect and edit SQLite databases, SharedPreferences, and Room databases directly during development. It runs only in debug builds and requires no device rooting, communicating via HTTP on a local network.

Source: GitHub — github.com/amitshekhariitbhu/Android-Debug-Database
8.7k
GitHub stars
883
Forks
Java
Primary language
Apache-2.0
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositoryamitshekhariitbhu/Android-Debug-Database
Owneramitshekhariitbhu
Primary languageJava
LicenseApache-2.0 — OSI-approved
Stars8.7k
Forks883
Open issues83
Latest release1.0.7 (2024-08-18)
Last updated2026-02-05
Sourcehttps://github.com/amitshekhariitbhu/Android-Debug-Database

What Android-Debug-Database is

A Java-based Android library that auto-initializes to expose a local HTTP server (default port 8080) for real-time database inspection, SQL query execution, and value editing across SQLite, SharedPreferences, and encrypted Room databases. Uses reflection-based APIs for in-memory database registration and custom file support.

Quickstart

Get the Android-Debug-Database source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/amitshekhariitbhu/Android-Debug-Database.gitcd Android-Debug-Database# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Development-phase database inspection

Quickly verify data integrity, schema structure, and row contents during feature development without writing custom query tools or using adb shell.

Testing and QA workflows

Enable QA teams to edit test data (database rows, SharedPreferences keys) mid-session to simulate edge cases and validate app behavior without rebuilding.

Room/SQLite migration validation

Inspect encrypted and in-memory Room databases in real-time to confirm migration success, schema correctness, and data persistence after ORM refactors.

Implementation considerations

  • Use debugImplementation dependency only; configure via build.gradle resValue strings for port and encrypted DB passwords to avoid release-build inclusion.
  • Ensure Android device and development machine share a network; use adb forward tcp:8080 tcp:8080 for USB debugging or Genymotion bridging for emulators.
  • For encrypted databases, define DB_PASSWORD_{DatabaseName} gradle resValue strings; leverage setCustomDatabaseFiles() and setInMemoryRoomDatabases() reflection APIs for non-standard database locations.
  • Library auto-initializes; call DebugDB.getAddressLog() or reflection-based showDebugDBAddressLogToast() to retrieve the HTTP endpoint URL for browser access.
  • Test with emulators (Android Default via adb forward, Genymotion via bridge) to confirm network routing and port availability before device testing.

When to avoid it — and what to weigh

  • Production or release builds — Library is explicitly designed for debugImplementation only; including it in release builds creates security and size risks. No mention of production-safe guards.
  • Network isolation or air-gapped environments — Requires HTTP connectivity on a shared local network (Wi-Fi/LAN) between device and developer machine. Not suitable for offline or isolated deployments.
  • Highly sensitive encrypted data — While encrypted DB support exists, exposing unencrypted query results and edit interfaces in a browser over HTTP carries data exposure risk; not recommended for PII or secrets.
  • CI/CD automated testing — Browser-based UI and manual inspection model; no programmatic API for automated assertion or data validation in headless test pipelines.

License & commercial use

Apache License 2.0 (Apache-2.0): permissive, royalty-free license permitting commercial and private use, modification, and distribution with attribution and explicit disclaimer of warranty and liability. No copyleft obligations.

Apache-2.0 clearly permits commercial use in proprietary applications without royalty or re-licensing obligations. However, confirm this is a development-only library (debugImplementation) with no commercial distribution model; commercial projects may use it freely for internal debugging but should not distribute it as a commercial product without ensuring compliance with attribution and liability clauses.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationStrong
License clarityClear
Deployment complexityLow
DEV.co fitGood
Assessment confidenceHigh
Security considerations

Debug-only design mitigates release-build risk. However, HTTP server with no authentication exposes unencrypted database contents, SharedPreferences, and SQL query results to any device on the local network. Encrypted database support provided but query results are exposed in plaintext browser interface. No mention of HTTPS, token-based access control, or rate limiting. Suitable only for trusted development environments; inadequate for production or untrusted networks.

Alternatives to consider

Android Studio built-in Database Inspector (SQLite viewer)

Native IDE integration for SQLite inspection without third-party dependencies; no network setup required. Lacks SharedPreferences and SQL query editing; limited to read-only in recent versions.

Stetho (Facebook/Meta)

Chrome DevTools integration for database, SharedPreferences, and network inspection; higher security posture. Larger dependency footprint and steeper learning curve for database-only use cases.

Room Database Inspector (Jetpack UI/Profiler integration)

Official Google tool for Room-specific debugging in Android Studio Profiler. Narrow scope (Room only); does not cover generic SQLite or SharedPreferences.

Software development agency

Build on Android-Debug-Database with DEV.co software developers

Integrate Android Debug Database into your development workflow or explore alternative debugging strategies for secure, scalable Android projects. Let our engineers help optimize your debugging infrastructure.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

Android-Debug-Database FAQ

Can I use this in production?
No. Library is designed for debugImplementation only and should never be included in release builds. Its HTTP server and unencrypted data exposure make it unsuitable for production.
Does it work over the internet or behind a VPN?
Library requires a local network (Wi-Fi/LAN) connection between device and developer machine. Internet or VPN use is not documented; may work with proper port forwarding but is not tested or recommended.
How do I debug encrypted Room databases?
Use the debug-db-encrypt artifact and define a DB_PASSWORD_{DatabaseName} gradle resValue string with the database password. Library will decrypt and display contents in the browser.
What happens if I forget to use debugImplementation?
Library will be included in your release APK, creating security risks (exposed HTTP server, database contents) and unnecessary app bloat. Always use debugImplementation in build.gradle.

Custom software development services

DEV.co helps companies turn open-source tools like Android-Debug-Database into production software. Our software development services cover the full lifecycle — architecture, web development, integration, and maintenance — delivered by software developers and web developers who ship. Engage our software development agency to implement or customize it for your open-source databases stack.

Need Expert Android Debugging Setup?

Integrate Android Debug Database into your development workflow or explore alternative debugging strategies for secure, scalable Android projects. Let our engineers help optimize your debugging infrastructure.