simple-flank is a new gradle plugin with a clear focus: make the setup as simple as possible.

Applied to any application or library module it creates a task called runFlank that will run all the android tests (all flavors, debug buildType by default)

Tests will be executed using NexusLowRes emulators, and the lower sdk possible (between minSdk and available SDKs at Firebase)


Apply the plugin on the application/library modules you want to run tests:

plugins {

add your firebase credentials to the rootproject as ftl-credentials.json

That’s it, run ./gradlew runFlank and get the results.

Optional configuration

Changing the credentials file

simpleFlank {

Making the tests cacheable

If you are using the Gradle BuildCache, you just need to declare your tests as hermetic ( isolated and reproducible )

simpleFlank {

or, even better, if all your modules have hermetic tests you can add to the simple-flank.hermeticTests=true

changing Flank version

dependencies {


simple-flank will configure it automatically if you are using “ANDROIDX_TEST_ORCHESTRATOR”


Can I change the buildType to run?

Android already provides a way for you to do it:

android {
  testBuildType = "beta"

How to debug shards?

./gradlew runFlank -PdumpShards=true

What if I want to use a different flank config?

Feel free to create your own task and provide the config yaml you want.


View Github