/android

GitHub Android App

Primary LanguageJavaApache License 2.0Apache-2.0

GitHub Android App Google Play Build Status

This repository contains the source code for the GitHub Android app.

Download from Google Play

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

License

Building

With Gradle

The easiest way to build is to install Android Studio v1.+ with Gradle v2.2.1. Once installed, then you can import the project into Android Studio:

  1. Open File
  2. Import Project
  3. Select build.gradle under the project directory
  4. Click OK

Then, Gradle will do everything for you.

With Maven

Notes: Although Maven support is not dropped as yet, to say the least, we have shifted our focus to use Gradle as our main build system.

The build requires Maven v3.1.1+ 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=/opt/tools/android-sdk

After satisfying those requirements, the build is pretty simple:

  • Run mvn clean package from the app directory to build the APK only
  • Run mvn clean install 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 Google Play 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 GitHub from your device and you will then be able to install your own built version.

See here for instructions on building from Eclipse.

Acknowledgements

This project uses the GitHub Java API built on top of API v3.

It also uses many other open source libraries such as:

These are just a few of the major dependencies, the entire list of dependencies is listed in the app's POM file.

Contributing

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.