-
Notifications
You must be signed in to change notification settings - Fork 0
F Droid Pipeline Debug
alpha-1-design edited this page May 21, 2026
·
1 revision
Duration: ~2 hours, ~15 pipeline iterations
Adding BLACKBOX to F-Droid hit multiple pipeline failures:
-
android update lib-projectcrashed — Capacitor project layout doesn't match F-Droid's expectations -
fdroid rewritemetarejected format repeatedly — strict YAML canonicalization rules - Build succeeded but APK not found — F-Droid couldn't auto-discover the output
| Issue | Cause | Fix |
|---|---|---|
| android update crash | No gradle: field set; F-Droid defaulted to legacy build method |
gradle:\n - yes |
| rewritemeta failures | Wrong key order, inline vs multi-line list format, redundant defaults | Canonical order: gradle: → output: → prebuild:
|
| APK not found | Auto-discovery failed with subdir: android
|
Explicit output: path |
| Binary scanner errors |
node_modules with false positives |
rm -rf bypass paths in init
|
Builds:
- versionName: 2.0.0
versionCode: 2
commit: fcbe6590d5c6a21c2d4df1878d2333a29bac9fee
subdir: android
sudo:
- apt-get update
- apt-get install -y nodejs npm
init: cd .. && npm install && npx cap sync android && rm -rf
node_modules/clipboardy/fallbacks
node_modules/@capacitor/cli/assets
gradle:
- yes
output: app/build/outputs/apk/release/app-release-unsigned.apk
prebuild: sed -i
's/com.android.tools.build:gradle:8.1.4/com.android.tools.build:gradle:8.5.2/'
build.gradle-
gradle:field is required — without it, F-Droid triesandroid update lib-projectwhich fails on Capacitor projects -
gradle: ['yes']→ canonical form is multi-linegradle:\n - yes - Build entry keys must follow canonical order: versionName → versionCode → commit → subdir → sudo → init → gradle → output → prebuild
-
init:runs insidesubdir:— usecd ..to reach project root -
rmbypass paths ininitare relative to init's working directory -
output:may be required whensubdir:changes the project root - Run
fdroid rewritemetalocally before pushing to catch format issues instantly
Future releases only need a new tag on GitHub — F-Droid bot handles the rest.