Android Gradle Java App Template
Gradle + Android Studio + Robolectric + Espresso + Mockito + EasyMock/PowerMock + JaCoCo
Technologies used:
Build Tools:
Name | Description |
---|---|
Gradle | Gradle build system |
Android Gradle Build Tools | Official Gradle Plugin |
Android SDK | Official SDK |
Android SDK Build Tools | Official Build Tools |
Android Studio or | Official IDE |
Intellij | Intellij IDE |
Android Libraries:
Name | Description |
---|---|
Android Support-v4 | Support Library API 4+ |
Android AppCompat-v7 | Support Library API 7+ |
Testing Frameworks:
Name | Description |
---|---|
Espresso | Instrumentation Framework |
Robolectric | Unit Testing Framework |
Publishing to Google Play:
Name | Description |
---|---|
Gradle-play-publisher | Publishes your app to Google Play |
Getting Started:
Android Studio
or Intellij
Support(Simple):
-
Import/Open this project with Android Studio/Intellij(click on
build.gradle
) -
Instrumentation Tests:
- Change the Build Variant Test Artifact to
Instrumentation Tests
- Right click an instrumentation test located in
src/main/androidTest
and click test
- Change the Build Variant Test Artifact to
-
Unit Tests:
- Change the Build Variant Test Artifact to
Unit Tests
- Right click a unit test located in
src/main/test
and click test
- Change the Build Variant Test Artifact to
Building and Running
This project builds with Gradle and the Android Build tools.
Build the APK:
gradlew assembleDebug
Install the APK:
gradlew installDebug
Run the App:
gradlew runDebug
Testing
Running the Unit Tests:
The Junit and Robolectric tests run on the JVM, no need for emulators or real devices.
gradlew testDebug
Run a single unit test in the debug flavor
:
gradlew testDebug --tests="*MainActivityTest*"
Running the Instrumentation Tests:
The Espresso instrumentation tests run on the device.
gradlew connectedDebugAndroidTest
Reports
Generate Lint Reports:
The Lint plugin generates reports based off the source code.
gradlew lintDebug