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

NOTE: This idea is published as a draft under active discussion, but it is confirmed in principle. It is FINE to apply to it. The scope and the suggested implementation may change significantly before the final version is published. Sections like quickstart guide and newbie-friendly issues may be also missing. As a contributor, you are welcome to request additional information and to join the discussions using channels linked on this page.

Details

Background

Applying CI principles when building IOS applications brings its own challenges, different from those of more classical applications. Topics such as how to proceed, what are the successful patterns, and what are the pitfalls are poorly documented. It very often requires potential users and Jenkins Administrators to "reinvent the wheel".

Some experiments are available and were presented publicly.

The proof of concept could be docker-compose based. It would work 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 Android 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 2024 project ideas