ObjectBox Admin
The ObjectBox Admin web app (formerly Data Browser) is an easy way to view what's happening in your database of your app using a web browser. Browse your app's data and gain insights.
Works for Android apps built with ObjectBox for Java or Flutter
The ObjectBox Admin web app (formerly known as ObjectBox Data Browser) allows you to
- view the Objects and schema of your database inside a regular web browser,
- and download Objects in JSON format.
The Admin web app runs directly on your device or on your development machine. Behind the scenes this works by bundling a simple HTTP server into ObjectBox when building your app. If triggered, it will then provide a basic web interface to the data and schema in your store.

The Data Browser web app.
We strongly recommend using Admin only for debug builds as it ships with additional resources and configuration not intended for production code.
Java
Flutter
Modify the app's Gradle build file to add the dependency and change the “io.objectbox” plugin to be applied after the dependencies block:
app/build.gradle
dependencies {
// Manually add objectbox-android-objectbrowser only for debug builds,
// and objectbox-android for release builds.
debugImplementation("io.objectbox:objectbox-android-objectbrowser:$objectboxVersion")
releaseImplementation("io.objectbox:objectbox-android:$objectboxVersion")
}
// Apply the plugin after the dependencies block so it picks up
// and does not add objectbox-android.
apply plugin: 'io.objectbox'
// Or using Kotlin DSL:
apply(plugin = "io.objectbox")
If the plugin is not applied afterwards, the build will fail with a duplicate files error (like
Duplicate files copied in APK lib/armeabi-v7a/libobjectbox.so
) because the plugin fails to detect and adds the objectbox-android
library.Modify the Gradle build file of the Flutter Android app to add the dependency:
android/app/build.gradle
// Tell Gradle to exclude the objectbox-android dependency
// that is added by objectbox_flutter_libs for debug builds.
configurations {
debugImplementation {
exclude group: 'io.objectbox', module: 'objectbox-android'
}
}
dependencies {
// Add objectbox-android-objectbrowser only for debug builds.
// Replace <version> with the included objectbox-android version,
// e.g. check https://github.com/objectbox/objectbox-dart/releases
// Warning: when ObjectBox for Dart updates check if <version>
// needs to be updated.
debugImplementation("io.objectbox:objectbox-android-objectbrowser:<version>")
}
Finally, after creating the store, to start Admin:
Java
Flutter
Create an
AndroidObjectBrowser
instance and call start
:boxStore = MyObjectBox.builder().androidContext(this).build();
if (BuildConfig.DEBUG) {
boolean started = new Admin(boxStore).start(this);
Log.i("ObjectBoxAdmin", "Started: " + started);
}
Create an
Admin
instance and keep a reference, optionally close it once done using the web app:if (Admin.isAvailable()) {
// Keep a reference until no longer needed or manually closed.
admin = Admin(store);
}
// (Optional) Close at some later point.
admin.close();
The
objectbox-android-objectbrowser
dependency automatically adds the following permissions to AndroidManifest.xml
:<!-- Required to provide the web interface -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- Required to run keep-alive service when targeting API 28 or higher -->
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
If the dependency is only used in debug builds as recommended above, these permissions will not be added to your release build.
When Admin is created/started it will print the URL where to access the web app to the logs, e.g. something like:
http://localhost:8090/index.html
This URL can be opened on the device or emulator. To open the web app on your dev machine, see the instructions below.
For ObjectBox for Java, the app also displays a notification to access Admin. Tapping it will launch a service to keep the app alive and opens the Admin web app in the web browser on the device.
Stop the keep-alive service from the notification.
To open the web app on your development machine check the log output when launching the app. Note the port of the URL:
ObjectBrowser started: http://localhost:8090/index.html
If available, like here, port 8090 is used. On your dev machine, use the ADB command to forward the port (or whichever you like) to that port of your device:
adb forward tcp:8090 tcp:8090
Then open the web app URL in a web browser on your dev machine.
When viewing Objects tap the download button at the very bottom. This will download the Objects formatted as JSON.

The download option for objects.
Last modified 6mo ago