Android companion app for rmfakecloud. It uses the same web UI API as the browser (/ui/api): sign in with your rmfakecloud user, browse folders and documents in a grid, upload files, and export documents as PDF.
- An instance of rmfakecloud reachable from your phone or tablet (often
http://<host>:3000on your LAN). - The same email and password you use for the rmfakecloud web UI.
- Android 8.0+ (API 26).
- Settings — Server URL, email, password; Save server & sign-in stores them on the device; Sign in obtains a session. Settings opens automatically when nothing is saved yet (once per signed-out session).
- Document grid — Thumbnails (first page / EPUB cover), configurable column count (1–3 on phones, 1–6 on large layouts with smallest width ≥ 600 dp). Folders appear as compact full-width rows.
- Menu (⋮) — Refresh, upload, Settings (while signed in: current server + grid columns), sign out.
- Export — Tap a document to save a PDF export (same idea as the web UI, not raw reMarkable blobs).
Cleartext HTTP is allowed for typical self-hosted setups. For HTTPS with a private CA you must trust that certificate on the device.
Prerequisites: Android SDK, local.properties with sdk.dir=… (Android Studio creates this).
./gradlew assembleDebug
adb install -r app/build/outputs/apk/debug/app-debug.apkRelease builds: configure signing in app/build.gradle.kts, then ./gradlew assembleRelease.
On every push and pull request, .github/workflows/ci.yml runs:
| Job | Runner | What it does |
|---|---|---|
| Android (Linux x64) | ubuntu-latest |
JDK 17, Android SDK (API 35), ./gradlew assembleDebug; uploads the debug APK as an artifact. |
| iOS (macOS / Xcode) | macos-14 |
If no .xcodeproj / .xcworkspace is found, the job succeeds with a notice (this repo is Android-only today). If you add an iOS tree, it runs xcodebuild -alltargets for the iOS Simulator SDK with CODE_SIGNING_ALLOWED=NO. |
Gradle wrapper integrity is checked with gradle/actions/wrapper-validation.
| Path | Role |
|---|---|
app/src/main/java/dev/rmfake/client/ |
UI (MainActivity), app entry |
app/src/main/java/dev/rmfake/client/data/ |
API client, DataStore session and preferences |
app/src/main/java/dev/rmfake/client/ui/ |
ViewModel, document grid, layout helpers |
Application id: dev.rmfakeclient
Namespace (Kotlin packages): dev.rmfake.client
See CHANGELOG.md for version history and how to maintain it.
This project is licensed under the GNU General Public License v3.0 — see LICENSE.