Configure the behavior of the library with the following instrumentation
arguments. These can either be added to your Gradle configuration or applied
directly when running instrumentation from the command line. If using Gradle,
add the arguments to testInstrumentationRunnerArguments
:
android {
defaultConfig {
// ...
testInstrumentationRunnerArguments["androidx.benchmark.enabledRules"] = "BaselineProfile"
}
}
If calling directly from command line, use
-P android.testInstrumentationRunnerArguments.[name of the argument]
.
./gradlew :benchmark:connectedAndroidTest -P android.testInstrumentationRunnerArguments.androidx.benchmark.enabledRules=BaselineProfile
androidx.benchmark.compilation.enabled
Allows disabling compilation between each iteration of the benchmark. By default, the target application is re-installed and re-compiled between each benchmark, to respect the CompilationMode passed into measureRepeated. Disabling this allows you to skip both reinstall and compilation if, for example, you want to fully compile the target app once before running the test suite, and run all benchmarks against that fully compiled target.
- Argument type: boolean
- Defaults to:
true
androidx.benchmark.dryRunMode.enable
Allows running benchmarks in single loop to verify they work properly. It can be used with regular tests as part of verification.
- Argument type: boolean
- Defaults to:
false
androidx.benchmark.enabledRules
Allows filtering runs to just one type of test - Baseline Profile generation or Macrobenchmark test. Comma-separated list also supported.
- Argument type: string
- Available options:
Macrobenchmark
BaselineProfile
- Defaults to: Not specified
androidx.benchmark.fullTracing.enable (Experimental)
Enables androidx.tracing.perfetto
tracepoints such as Jetpack Compose composition tracing.
Note this only affects when StartupMode.COLD
is not used, since enabling the tracepoints wakes the target process.
- Argument type: boolean
- Defaults to:
false
androidx.benchmark.suppressErrors
Accepts comma-separated list of errors to turn into warnings.
- Argument type: list of strings
- Available options:
DEBUGGABLE
LOW-BATTERY
EMULATOR
NOT-PROFILEABLE
- Defaults to: an empty list
additionalTestOutputDir
Configures where JSON benchmark reports and profiling results are saved on device.
- Argument type: file path string
- Defaults to: test APK's external directory