Repository navigation
F-Droid submission checklist #1
Copy link
Copy link
Closed
Description
Goal
Publish the app on F-Droid. This issue tracks every required and recommended item for a successful submission to the fdroiddata repository.
Required
App icon
- Replace the placeholder launcher icon (
ic_launcher_foreground.xmlis the default Android Studio robot template) - Replace all raster mipmap PNGs/WEBPs (
mdpi→xxxhdpi) with renders of the new icon - Adaptive icon layers (
ic_launcher_foreground.xml,ic_launcher_background.xml) must reflect the new design - Supply a 512 × 512 px PNG in
fastlane/metadata/android/en-US/images/icon.png
Fastlane supply metadata
F-Droid reads the fastlane supply directory structure from the repo root.
-
fastlane/metadata/android/en-US/title.txt— app name, max 30 chars -
fastlane/metadata/android/en-US/short_description.txt— one-liner, max 80 chars -
fastlane/metadata/android/en-US/full_description.txt— store description, max 4000 chars -
fastlane/metadata/android/en-US/changelogs/1.txt— changelog for versionCode 1 -
fastlane/metadata/android/en-US/changelogs/2.txt— changelog for versionCode 2
fdroiddata submission
- Create a metadata YAML at
metadata/info.yuryv.androiddebugmode.ymlin a fork of fdroiddata and open a merge request. Minimum viable file:
Categories:
- System
License: MIT
SourceCode: https://github.com/digitalby/android-debug-mode
IssueTracker: https://github.com/digitalby/android-debug-mode/issues
AutoName: Debug Mode Widget
Builds:
- versionName: '1.1'
versionCode: 2
commit: v1.1
gradle:
- release
AutoUpdateMode: Version v%v
UpdateCheckMode: Tags ^v[0-9.]+$- Push a signed
v1.1tag so the CI release job creates the GitHub Release the build recipe points to
README
- Update the "What it does" section to include the Running Services shortcut added in v1.1
- Add an F-Droid install badge and link once the app is accepted
Recommended
Screenshots
F-Droid displays screenshots if provided. At minimum, one screenshot of the widget placed on a home screen.
-
fastlane/metadata/android/en-US/images/phoneScreenshots/01_widget.png
Feature graphic
-
fastlane/metadata/android/en-US/images/featureGraphic.png— 1024 × 500 px banner (optional but displayed on the F-Droid website)
Notes
- No anti-features detected. The app has no ads, no analytics, no proprietary dependencies, and no Google Play Services. All runtime dependencies (AndroidX Glance, Compose BOM, Kotlin) are Apache 2.0 or MIT.
- Signing: F-Droid builds from source and signs with their own key. The existing CI keystore setup is unaffected. The fdroiddata build recipe does not need signing config.
- Reproducible builds: F-Droid increasingly requires byte-for-byte reproducible APKs. This is a stretch goal for now but worth tracking: it would require pinning
buildToolsVersionandndkVersionand verifying output withdiffoscope. Not blocking for initial submission.
Metadata
Metadata
Assignees
Labels
No labels
Activity
digitalby commentedon Apr 4, 2026
Progress from this session
App icon (closes icon item)
Replaced the Android Studio template placeholder with a real adaptive icon:
ic_launcher_background.xml): solid Material Blue 800 (#1565C0), replaces the default green with grid linesic_launcher_foreground.xml): the Materialadbsymbol (Android robot with antennas) in white, scaled 2.5× and centred in the 66 dp adaptive-icon safe zoneBoth
ic_launcher.xmlandic_launcher_round.xmlalready reference these layers, so both variants are updated automatically.Still needed: The legacy raster mipmap
.webpfiles (used on API 23–25) still show the old placeholder. Regenerate them from Android Studio → right-clickres→ Image Asset Studio, or export from the updated vector. The 512 × 512fastlane/metadata/android/en-US/images/icon.pngalso needs to be generated from the same vector.Fastlane setup
Gemfile— pins thefastlanegemfastlane/Appfile— declares the package namefastlane/Fastfile— three lanes:test(lint + unit tests),build_debug,build_release(reads keystore from env vars, matching the existing CI approach)F-Droid metadata
All required fastlane supply files created under
fastlane/metadata/android/en-US/:title.txtDebug Mode Widgetshort_description.txtfull_description.txtchangelogs/1.txtchangelogs/2.txtREADME
Remaining checklist items
fastlane/metadata/android/en-US/images/icon.png(512 × 512 px from the updated vector).webpfiles for API 23–25 (Android Studio Image Asset Studio)fastlane/metadata/android/en-US/images/phoneScreenshots/v1.1tag to trigger the CI release jobdigitalby commentedon Apr 5, 2026
Automated via 1ad1370.
Added
scripts/generate_icons.py+.github/workflows/generate-icons.yml. The script converts the adaptive icon AVD XMLs to SVG at runtime and rasterises them with cairosvg + Pillow. The CI workflow triggers on any push tomainthat touches the drawable sources and auto-commits the regenerated assets — no manual steps required going forward.Assets produced:
mipmap-{mdpi,hdpi,xhdpi,xxhdpi,xxxhdpi}/ic_launcher.png+ic_launcher_round.png— replaced the old WebPsfastlane/metadata/android/en-US/images/icon.png— 512×512fastlane/metadata/android/en-US/images/featureGraphic.png— 1024×500 placeholderfastlane/metadata/android/en-US/images/phoneScreenshots/01_widget.png— 1080×1920 placeholderThe feature graphic and screenshot are basic placeholders (blue canvas + app name/label). They can be replaced with real designs by dropping updated files into those paths; the generation script only writes them if you re-run it, so manual replacements won't be overwritten by CI unless you touch the vector sources again.
digitalby commentedon Apr 6, 2026
The screenshot at
fastlane/metadata/android/en-US/images/phoneScreenshots/01_widget.pngis now a real emulator capture (1080×2400) showing the widget on the home screen — not a placeholder. The automated workflow (.github/workflows/screenshots.yml) runs on every push tofeature/real-screenshotsand onworkflow_dispatch, builds the test APK, places the widget via UIAutomator2, and commits the result. Merged in #6.Remaining blockers before F-Droid submission:
v1.1tagmetadata/info.yuryv.androiddebugmode.yml, open a merge requestdigitalby commentedon Apr 6, 2026
fdroiddata MR opened: https://gitlab.com/fdroid/fdroiddata/-/merge_requests/36002
Remaining:
github-actions commentedon Apr 6, 2026
F-Droid monitor (2026-04-06)
MR state:
opened(updated 2026-04-06T17:46:22.760Z)View MR
github-actions commentedon Apr 11, 2026
F-Droid monitor (2026-04-11)
MR state:
opened(updated 2026-04-11T10:12:23.815Z)View MR
github-actions commentedon Apr 12, 2026
F-Droid monitor (2026-04-12)
MR state:
opened(updated 2026-04-12T07:26:21.302Z)View MR
github-actions commentedon Apr 13, 2026
F-Droid monitor (2026-04-13)
MR state:
opened(updated 2026-04-12T15:51:45.519Z)View MR
github-actions commentedon May 11, 2026
F-Droid monitor (2026-05-11)
MR state:
opened(updated 2026-05-11T07:58:55.773Z)View MR
digitalby commentedon May 21, 2026
check apk blocker fixed (v1.1.2)
The MR's
check apkjob was failing onFound extra signing block 'Dependency metadata'. The v1.1.1 attempt to disable it used the wrong Gradle property name (android.includeDependencyInfoInApksinstead of the pluralincludeDependenciesInfoInApks), so it was a no-op and the published APK still carried the block.Fixed via the AGP
dependenciesInfo {}DSL (includeInApk = false,includeInBundle = false) inapp/build.gradle.kts, removed the dead gradle.properties line, releasedv1.1.2(versionCode 4).Verified on the published
app-release.apk:0x7109871a(v2) +0x42726577(padding); dependency-metadata0x504b4453gone.AllowedAPKSigningKeys.fdroiddata MR #36002 recipe updated to a single clean 1.1.2 build (older dirty 1.1.0/1.1.1 builds dropped) and a comment posted asking a maintainer to re-run the pipeline. The fork-side pipeline has no runners so it fails instantly with zero jobs; only the maintainer-triggered fdroiddata pipeline validates. The daily monitor will report the next state change automatically.
github-actions commentedon May 22, 2026
F-Droid monitor (2026-05-22)
MR state:
opened(updated 2026-05-21T14:56:24.604Z)View MR
github-actions commentedon Jun 18, 2026
F-Droid monitor (2026-06-18)
MR state:
opened(updated 2026-06-18T10:41:40.712Z)View MR
github-actions commentedon Jun 26, 2026
F-Droid monitor (2026-06-26)
MR state:
merged(updated 2026-06-25T12:01:26.436Z)View MR
github-actions commentedon Jun 27, 2026
The app is now live on F-Droid: https://f-droid.org/packages/info.yuryv.androiddebugmode/
110 remaining items
github-actions commentedon Oct 16, 2026
The app is now live on F-Droid: https://f-droid.org/packages/info.yuryv.androiddebugmode/
github-actions commentedon Oct 17, 2026
The app is now live on F-Droid: https://f-droid.org/packages/info.yuryv.androiddebugmode/
github-actions commentedon Oct 18, 2026
The app is now live on F-Droid: https://f-droid.org/packages/info.yuryv.androiddebugmode/
github-actions commentedon Oct 19, 2026
The app is now live on F-Droid: https://f-droid.org/packages/info.yuryv.androiddebugmode/
github-actions commentedon Oct 20, 2026
The app is now live on F-Droid: https://f-droid.org/packages/info.yuryv.androiddebugmode/
github-actions commentedon Oct 21, 2026
The app is now live on F-Droid: https://f-droid.org/packages/info.yuryv.androiddebugmode/
github-actions commentedon Oct 22, 2026
The app is now live on F-Droid: https://f-droid.org/packages/info.yuryv.androiddebugmode/
github-actions commentedon Oct 23, 2026
The app is now live on F-Droid: https://f-droid.org/packages/info.yuryv.androiddebugmode/
github-actions commentedon Oct 24, 2026
The app is now live on F-Droid: https://f-droid.org/packages/info.yuryv.androiddebugmode/
github-actions commentedon Oct 25, 2026
The app is now live on F-Droid: https://f-droid.org/packages/info.yuryv.androiddebugmode/
github-actions commentedon Oct 26, 2026
The app is now live on F-Droid: https://f-droid.org/packages/info.yuryv.androiddebugmode/
github-actions commentedon Oct 27, 2026
The app is now live on F-Droid: https://f-droid.org/packages/info.yuryv.androiddebugmode/
github-actions commentedon Oct 28, 2026
The app is now live on F-Droid: https://f-droid.org/packages/info.yuryv.androiddebugmode/
github-actions commentedon Oct 29, 2026
The app is now live on F-Droid: https://f-droid.org/packages/info.yuryv.androiddebugmode/
github-actions commentedon Oct 30, 2026
The app is now live on F-Droid: https://f-droid.org/packages/info.yuryv.androiddebugmode/