Before starting work
- Create a private Git repository on Github/Bitbucket.
- Create an empty
devbranch, set it as the default branch (protected if possible).
- If you are going to use
releasebranches, add protection regex with same rules as for the
- Ask the project manager to provide you with all project documentation and design.
Initial project setup
- Branch a new branch off
dev(see the Using Git chapter for details).
- Create a new project in Android Studio using the wizard.
- Create a gitignore file using gitignore.io.
- Set up buildTypes and flavors (you usually need a
- Generate a development keystore with random passwords and add the configuration to
build.gradle. The production keystore management is explained in the Keystore management chapter.
- Add static analysis and CI configuration as described in the
- Add an Application class and Timber, set up Timber in the app class.
- Set up basic networking and test code with dependency injection (see the Dependency injection chapter for details).
- Set up Fabric on the Infinum or client account if available (make sure that caught exceptions are also logged using Timber).
- Add app icons with a different icon for non-production server targets (we usually use a banner overlay on the icon saying 'test' or 'staging').
- Add the appropriate ProGuard configuration depending on the libraries used.
- Open a pull request to the appropriate colleague.
The first pull request should contain only the initial setup code so that it's easier to review.