Awesome
Android Gradle Java App Template
Gradle + Android Studio + Robolectric + Espresso + Mockito
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 |
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
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
License
Copyright (C) 2015 Jared Burrows
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
https://www.apache.org/licenses/LICENSE-2.0
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.