androidarchitecturerelease-management

How to maintain different distributions of one app?


I am currently building an Android app where I will have to maintain two different distributions of the same app:

  1. A free one, with ads

  2. A paid one, with more features and without ads

I want to add new features after the release for both distributions, without having to implement them in each of the distribution.

I was thinking about git branches, but I guess the branches could diverge to a point where cross merging features is not possible anymore- or am I wrong?

How would you do this?


Solution

  • Make an Android library project of the features that the distributions have in common and use that library project as a dependency in both of the distributions. That way you can avoid duplicate code.