Building Android Apps with Jenkins

Project goal: Describe best practices and provide architectural templates for building Android applications with Jenkins

Skills to study/improve: Java, YAML, Android development, Command line tools, Package management tool theory

Details

Background

Applying CI principles when building IOS applications brings its own challenges, different from those of more classical applications. How to proceed, what are the successful patterns, what are the pitfalls is poorly documented. It very often requires potential user and Jenkins Administrator to "reinvent the wheel".

Some experiments are available and were presented publicly.

The proof of concept could be the docker-compose based. It would works under Windows, Linux, Vagrant, macOS (x86 and ARM), and mostly on Gitpod. It should be easily transposable to a production environment. The demo/proof-of-concept would be composed of a Jenkins controller (configured with JCasc), an Android agent, a generic Docker agent, an Android emulator, and an Android device farm (STF).

The idea is to have a more precise status of what can be done now with Jenkins. We could then amend the existing documentation and describe architectures for:

  • Standalone Android projects

  • Android apps building farms

  • Android distro building (customized AOSP)

Skills to Study and Improve

  • Jenkins technical architecture

  • Android application development

  • CI principle and practice

  • Docker

Project Difficulty Level

Beginner to Intermediate

Project Size

175 hours

Expected outcomes

Details to be clarified interactively, together with the mentors, during the Contributor Application drafting phase.

Potential Mentors

Project Links

Organization Links

> Go back to other GSoC 2023 project ideas