Help for Realm® apps / Build errors

Realm Android build: Downloading ... Failed for OpenSSL from static.realm.io

Your Android build stops in CMake with “Downloading ... Failed”. Realm downloads a prebuilt OpenSSL from static.realm.io during the build, and that server was slow or down.

Updated 9 November 2026.

The error

From #7044 (September 2025):

CMake Error: Downloading ... Failed. Status: 28;"Timeout was reached"

The file it was fetching:

https://static.realm.io/downloads/dependencies/openssl/3.3.1/openssl-3.3.1-arm64-android.tar.gz

An older form, from #6963:

Execution failed for task ':realm:configureCMakeDebug[arm64-v8a]'.
-- Getting https://static.realm.io/downloads/dependencies/openssl/3.2.0/openssl-3.2.0-arm64-android.tar.gz...
CMake Error at .../node_modules/realm/prebuilds/android/arm64-v8a/share/cmake/Realm/AcquireRealmDependency.cmake:38 (message):
  Downloading ...  Failed.  Status: 22;"HTTP response code said error"

When it happens

  • Android builds of realm, 20.2.0 included, while static.realm.io is slow or down. The download runs each time CMake configures a clean build.
  • #7044 reported an outage on 4 September 2025 (realm 20.1.0, Expo SDK 53). The server came back the same day. The issue was closed as not planned: the former maintainer wrote that the SDKs are deprecated and that they did not expect any measure to prevent it in the future.
  • On 9 November 2026 the server answers. The risk is the next outage.

Why

Realm's AcquireRealmDependency.cmake downloads an OpenSSL archive from static.realm.io when CMake configures the Android build. The URL is written in the file and there is no setting for a mirror. The message says “Downloading ...” with no URL because it prints a variable that is never set.

Fix with afterdb

afterdb ships OpenSSL 3.5.9 LTS inside the package, so the Android build downloads nothing.

In package.json, point the two Realm packages to afterdb:

"realm": "npm:@pomwik/afterdb@20.3.0",
"@realm/react": "npm:@pomwik/afterdb-react@0.20.1"

Then reinstall, run pod install on iOS, and rebuild. For Expo dev builds, run npx expo prebuild --clean. Your code keeps import Realm from "realm". If you do not use @realm/react, the first line is enough.

afterdb is an independent open-source fork of the realm-js SDK v20 (Apache-2.0) that we maintain, for apps on realm 20.x without Device Sync. It is not an official Realm release. Code on GitHub, package on npm.

Tested: no request to static.realm.io during npm install or the Android build (locally), and the origin of the OpenSSL files is checked in CI. Release builds for all 4 Android ABIs with React Native 0.88.1, and the app runs on Android 7, 11 and 16 emulators. Not tested yet: real devices.

Without afterdb

These come from reading Realm's CMake file. We have not tested them.

  • The download is skipped when include.cmake already exists in the CMake build folder. Caching node_modules/realm/binding/android/.cxx between CI builds avoids it once the cache is filled.
  • Host a copy of the archive yourself and change the URL in AcquireRealmDependency.cmake with patch-package.
  • If the server is down, wait and retry. In September 2025 it came back the same day.

Need help? Send your versions and the full error for a free 15-minute check. We reply within 12 hours.