realm-java
Realm Java is a mobile-first embedded database for Android that replaces SQLite and traditional ORMs. However, MongoDB deprecated the Realm SDKs and Device Sync in September 2024, signaling end-of-life for this product line.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | realm/realm-java |
| Owner | realm |
| Primary language | Java |
| License | Apache-2.0 — OSI-approved |
| Stars | 11.5k |
| Forks | 1.7k |
| Open issues | 395 |
| Latest release | Unknown |
| Last updated | 2025-09-15 |
| Source | https://github.com/realm/realm-java |
What realm-java is
Realm Java provides object-oriented data persistence with thread-safety, encryption, and real-time sync capabilities via Realm Core (C++). It runs on Android 5.0+ and integrates via Gradle plugin; the codebase remains on GitHub but is no longer actively developed per deprecation notice.
Get the realm-java source
Clone the repository and explore it locally.
git clone https://github.com/realm/realm-java.gitcd realm-java# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
Implementation considerations
- Realm Java requires Android SDK Build-Tools 29.0.3, NDK 21.0.6113669, CMake 3.18.4, and JDK 8; build from source is possible but time-intensive (1+ hour full build).
- 395 open issues remain unresolved; assess whether any block your use case, as issue triage will be minimal post-deprecation.
- Migration path required if you later need cloud sync or upgrade to Kotlin Multiplatform; plan data export/transformation early.
- Encryption and thread-safety are built-in; configure carefully for production, but expect no vendor guidance on hardening.
- API surface is small (~few classes), lowering learning curve but also limiting flexibility for complex query patterns.
When to avoid it — and what to weigh
- You need active vendor support and security patches — Realm Java is deprecated. MongoDB will not issue new feature releases or security updates. Critical bugs in older Android versions or JVM compatibility will go unaddressed.
- You plan to use Device Sync or real-time cloud backend — Device Sync is also deprecated and will be shut down. Attempting to build new real-time sync features on this SDK will fail or become stranded.
- You are starting a new Android project — MongoDB explicitly recommends Realm Kotlin for new projects. For new Java/Android codebases, use Room (Google's first-party solution) or alternative ORMs with active maintenance.
- You require long-term stability and security compliance — Deprecation status means no guaranteed SLA for security fixes, compliance updates, or compatibility with future Android/Java versions.
License & commercial use
Realm Java is licensed under Apache License 2.0, a permissive OSI-approved license allowing commercial use, modification, and distribution with attribution and liability disclaimers.
Apache 2.0 permits commercial use without royalties. However, deprecation status means MongoDB provides no warranty, SLA, or vendor support for production systems. Use at own risk; do not rely on this in systems where uptime or security incidents require rapid vendor response.
DEV.co evaluation signals
Editorial assessment — not user reviews. Directional, with an explicit confidence level.
| Signal | Assessment |
|---|---|
| Maintenance | Stale |
| Documentation | Adequate |
| License clarity | Clear |
| Deployment complexity | High |
| DEV.co fit | Possible |
| Assessment confidence | High |
Realm supports at-rest encryption via native C++ core. No public security audit data provided in repo. Deprecation means no response to newly discovered vulnerabilities; if you use this in production, apply independent threat modeling and expect to patch security gaps in-house.
Alternatives to consider
Room (Google Architecture Components)
Official Google-backed Android persistence library with active maintenance, SQLite backend, LiveData/Flow integration, and guaranteed long-term support.
Realm Kotlin
MongoDB's recommended successor; now GA, supports Android and Kotlin Multiplatform, actively maintained, and designed as a drop-in modern replacement.
SQLite + ORM (e.g., Hibernate, Exposed)
Mature, widely adopted, multiple vendor options and community forks ensure long-term viability; trade-off is more boilerplate than Realm.
Build on realm-java with DEV.co software developers
If you're maintaining legacy Realm Java code or evaluating alternatives for a new Android app, our experts can help plan a smooth migration to Room, Realm Kotlin, or other modern persistence layers. Contact us for a technical review.
Talk to DEV.coRelated 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.
realm-java FAQ
Can I still use Realm Java in production?
What happens if I try to upgrade to a future Android version?
Is Device Sync still usable?
Can I build from source if the precompiled version breaks?
Software development & web development with DEV.co
Need help beyond evaluating realm-java? DEV.co is a software development agency offering software development services and web development for teams of every size. Our software developers and web developers build custom software, web applications, APIs, and open-source databases integrations — and maintain them long-term.
Migrating Away from Realm Java?
If you're maintaining legacy Realm Java code or evaluating alternatives for a new Android app, our experts can help plan a smooth migration to Room, Realm Kotlin, or other modern persistence layers. Contact us for a technical review.