Leeroy is an experimental FLOSS update manager for Android apps built by Jenkins CI. Through Leeroy, users can receive notifications of new development builds and update them within Leeroy.

Leeroy works by exposing server specific Jenkins details as meta-data to the Android system for apps built with Jenkins.

Developers can easily add Leeroy support to their Android Gradle projects built with Jenkins by including Leeroy-Gradle.

Google Play / F-Droid releases will come when the updater becomes more robust.

Integrating Leeroy with Android Gradle Projects

As follows is a brief tutorial for developers to add Leeroy support to their Jenkins-built gradle Android apps.

Step 1: Adding Leeroy-Gradle

Add the Leeroy-Gradle repository into your project. I recommend you use git submodules for this.

Then, edit your project’s build.gradle to include and set up the Leeroy build flavor:

apply from: '<path to Leeroy-Gradle>/leeroy.gradle'

setupLeeroy('<path to Leeroy-Gradle>', '<artifact regex>')

where <path to Leeroy-Gradle> is the path to this git repository, and <artifact regex> is a regular expression identifying the APK artifact on the Jenkins server to update the target project with. If your Jenkins builds produce only one artifact, you can just make the artifact regex a wildcard (.*).

Step 2: Setting up Jenkins

When being built using the Jenkins Gradle plugin, the ‘leeroy’ build flavour will become available. This extra ‘flavour dimension’ only exposes itself when the Jenkins build environment has been detected. Note that since this flavour is in its own dimension, it can be applied to other flavours thanks to the new manifest merger in modern versions of the Android Gradle plugin.

Step 3: There is no Step 3

That’s it! All builds of your app that use Leeroy-Gradle will be detected by the Leeroy app.

Experimental Builds

Experimental builds of the Leeroy updater can be found on the Morlunk Jenkins CI instance here. It can be updated with Leeroy, too!

Source

Leeroy (GitHub)

(Leeroy is licensed under version 3 of the GNU GPL.)

Leeroy-Gradle (GitHub)

(Leeroy-Gradle is licensed under version 2 of the Apache License.)

Help

If you need help integrating your app with Leeroy, please do not hesitate to contact me.