Android Bootstrap


Sep 5, 2012
Dec 3, 2015 (Retired)
Android Bootstrap (AndroidBootstrap)
Sean O'Neil (SeanPONeil)
Donn Felker (donnfelker)
Jake Wharton (JakeWharton)
Daniel Kutik (danielkutik)
Ken Yee (kenyee)
Fadil Sutomo (fadils)
Source code


Release Notes


  • All fragments have been updated to support lib fragments.
  • All activities are now AppCompat
  • Dagger is updated to Dagger 2
  • ButterKnife has been updated to 7.0.1
  • Timer notification now shows the timer in the notification (useful for when someone does not have the app open)
  • No ETA on the Material and RxJava implementation other than "when there is time". That magical time is wild stuff.

UPDATE: 2014-11-18

  • Android Bootstrap is now API 15+ only.
  • I will also be implementing RxJava, Material design and a few other things into this app as well. There will be no upgrade path as Android Bootstrap is mean to act as a starting point for Android Applications.

Android Bootstrap App

This repository contains the source code for the Android Bootstrap Android app available from Google Play.

Please see the issues section to report any bugs or feature requests and to see the list of known issues.

Have a questions about Android Bootstrap? Ask away on the android-bootstrap discussion forum.


Learn how to develop with IntelliJ and Gradle.


Log into this demo app with the following credentials:


password: android

Generating your Bootstrap App

Why generate? Simple ... renaming files, folders, copy and pasting is SUPER error prone and well... it sucks overall. This can easily take a few days with debugging if you run into issues and perform a lot of typo's. Using the generator on you can generate your application with your application name as well as the package (and folder structure) that you want to work with.

As an example, you know that you want your app name and package to the following:

  • App Name: Notify
  • Package Name:

After generating the app on the folder structure of the source code for the app will change:

  • From: com/donnfelker/android/bootstrap
  • To: com/notify/app/mobile

At that point all the source files that were located in __com/donnfelker/android/bootstrap will be moved to the new folder com/notify/app/mobile.

All import statments that reference the old resources ( will now be renamed to the correct package. The artifact id's in the pom.xml (and various other places) will be replaced. The App Name will be replaced in the strings/etc.

The end result is that you will be given a zip file with the correct structure. Open the zip and then execute the ./gradlew command and your app should be ready for development.


The application


Copyright 2014 Donn Felker Copyright 2014 GitHub Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.


The build requires Gradle v1.10+ and the Android SDK to be installed in your development environment. In addition you'll need to set the ANDROID_HOME environment variable to the location of your SDK:

export ANDROID_HOME=/path/to/your/android-sdk

After satisfying those requirements, the build is pretty simple:

  • Run gradlew or gradle assembleDebug or gradle assembleRelease from the app directory to build the APK only
  • Run one of the commands above from the root directory to build the app and also run the integration tests, this requires a connected Android device or running emulator.

You might find that your device doesn't let you install your build if you already have the version from the Android Market installed. This is standard Android security as it it won't let you directly replace an app that's been signed with a different key. Manually uninstall Android Bootstrap from your device and you will then be able to install your own built version.

Building in Eclipse

Why are you using Eclipse still? :) Please use Android Studio, we do not support Eclipse.


Android Bootstrap is a result of a template project I've developed over the years as well as a combination of a lot of great work that the GitHub app and GitHub Android app showcased. Some of the code in this project is based on the GitHub and GitHub Android app.

Android Bootstrap is built on the awesome API and uses many great open-source libraries from the Android dev community:


Thank you to all the contributors on this project. Your help is much appreciated.


Please fork this repository and contribute back using pull requests.

Any contributions, large or small, major features, bug fixes, additional language translations, unit/integration tests are welcomed and appreciated but will be thoroughly reviewed and discussed.

I hope this helps you in building your next android app.