Getting my app into IzzyOnDroid: Making It Fully Reproducible
Getting Karui into the IzzyOnDroid F-Droid repo wasn’t just about submitting a link and calling it a day. F-Droid has strict rules, and I had to clean up my code to make it fully reproducible. What’s Reproducibility? A reproducible build means anyone can take my source code, compile it, and get the exact same APK—byte for byte. No weird dependencies, no environment-specific builds, just pure, verifiable software. What I Had to Change Removed dependency blocks – IzzyOnDroid (and F-Droid in general) doesn’t like anything that could introduce non-free dependencies. So, I stripped out anything unnecessary and ensured all dependencies were explicitly defined and open-source. These are blocks of encrypted code that is only readable by google, thus non-free. No precompiled binaries – Everything had to be built from source, no sneaky prebuilt libraries. GitHub Actions for signing – Instead of relying on a local build, I automated the process using GitHub Actions. This ensures every APK is built in a clean, controlled environment with my own signing key, making the process transparent. Now, Karui is officially IzzyOnDroid-approved, meaning Android users can install and update it easily via F-Droid. Another step toward keeping software lightweight, efficient, and truly open. If you haven’t checked it out yet, now’s the time! https://github.com/ronynn/karui
Getting Karui into the IzzyOnDroid F-Droid repo wasn’t just about submitting a link and calling it a day. F-Droid has strict rules, and I had to clean up my code to make it fully reproducible.
What’s Reproducibility?
A reproducible build means anyone can take my source code, compile it, and get the exact same APK—byte for byte. No weird dependencies, no environment-specific builds, just pure, verifiable software.
What I Had to Change
Removed dependency blocks – IzzyOnDroid (and F-Droid in general) doesn’t like anything that could introduce non-free dependencies. So, I stripped out anything unnecessary and ensured all dependencies were explicitly defined and open-source. These are blocks of encrypted code that is only readable by google, thus non-free.
No precompiled binaries – Everything had to be built from source, no sneaky prebuilt libraries.
GitHub Actions for signing – Instead of relying on a local build, I automated the process using GitHub Actions. This ensures every APK is built in a clean, controlled environment with my own signing key, making the process transparent.
Now, Karui is officially IzzyOnDroid-approved, meaning Android users can install and update it easily via F-Droid. Another step toward keeping software lightweight, efficient, and truly open.
If you haven’t checked it out yet, now’s the time!