67 lines
1.8 KiB
Groovy
67 lines
1.8 KiB
Groovy
import com.android.build.api.dsl.ManagedVirtualDevice
|
|
|
|
plugins {
|
|
id 'com.android.test'
|
|
id 'org.jetbrains.kotlin.android'
|
|
}
|
|
|
|
android {
|
|
namespace 'at.techbee.benchmark'
|
|
compileSdk 34
|
|
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_17
|
|
targetCompatibility JavaVersion.VERSION_17
|
|
}
|
|
|
|
|
|
defaultConfig {
|
|
minSdk 23
|
|
targetSdk 34
|
|
|
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
testInstrumentationRunnerArguments["androidx.benchmark.suppressErrors"] = "LOW-BATTERY"
|
|
|
|
missingDimensionStrategy("version", "ose")
|
|
}
|
|
|
|
testOptions {
|
|
managedDevices {
|
|
devices {
|
|
pixel2Api31(ManagedVirtualDevice) {
|
|
device = "Pixel 2"
|
|
apiLevel = 31
|
|
systemImageSource = "aosp"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
buildTypes {
|
|
// This benchmark buildType is used for benchmarking, and should function like your
|
|
// release build (for example, with minification on). It's signed with a debug key
|
|
// for easy local/CI testing.
|
|
benchmark {
|
|
debuggable = true
|
|
signingConfig = debug.signingConfig
|
|
matchingFallbacks = ["release"]
|
|
proguardFiles("proguard-benchmark-rules.pro")
|
|
}
|
|
}
|
|
|
|
targetProjectPath = ":app"
|
|
experimentalProperties["android.experimental.self-instrumenting"] = true
|
|
}
|
|
|
|
dependencies {
|
|
implementation 'androidx.test.ext:junit:1.1.5'
|
|
implementation 'androidx.test.espresso:espresso-core:3.5.1'
|
|
implementation 'androidx.test.uiautomator:uiautomator:2.3.0'
|
|
implementation 'androidx.benchmark:benchmark-macro-junit4:1.2.3'
|
|
}
|
|
|
|
androidComponents {
|
|
beforeVariants(selector().all()) {
|
|
enabled = buildType == "benchmark"
|
|
}
|
|
} |