F-Droid Preparation
Ark is being prepared for F-Droid, but the first F-Droid submission still needs a real fdroidserver build and scanner pass.
What Is In The Repo Now
- Android package ID:
app.ark.offline - Android
versionCode:1 - FOSS license: MIT
- Fastlane metadata under
fastlane/metadata/android/en-US/ - Draft fdroiddata metadata under
fdroid/metadata/app.ark.offline.yml - No Firebase, Google Mobile Services, ads, or analytics packages in
package.json
F-Droid Constraints That Matter For Ark
F-Droid requires public source code, a FOSS license, FOSS dependencies, command-line buildability, and store metadata. React Native apps also need extra scanner work because JavaScript dependencies can contain prebuilt .jar, .aar, or .so artifacts.
References:
- Submitting to F-Droid Quick Start Guide
- F-Droid Build Metadata Reference
- F-Droid Inclusion Policy
- Adding React Native Apps to F-Droid
Expected Scanner Hot Spots
- Expo and React Native generated native dependencies
llama.rnnative artifacts- ExecuTorch native artifacts
- MapLibre native dependencies
- Skia native artifacts
valhalla-mobilerouting library- ArkZim and CoreKiwix/libkiwix artifacts
These may be acceptable if they are FOSS and traceable, but F-Droid packaging will need precise scanignore, scandelete, or source-build adjustments after scanner output is available.
Likely Submission Flow
- Cut a tagged Android release candidate.
- Run
bun install --frozen-lockfile. - Run
expo prebuild --platform android --no-install --no-clean. - Test
fdroidservermetadata against the generated Android project. - Resolve scanner findings.
- Submit a merge request to
fdroiddata.
Possible F-Droid Flavor Work
If scanner output rejects optional native AI/routing dependencies, create an F-Droid build path that disables or patches those packages while keeping maps, guides, notes, backups, tools, and imported documents working. Do this only from actual scanner evidence.

