74 lines
1.9 KiB
Groovy
74 lines
1.9 KiB
Groovy
import com.android.build.api.dsl.ManagedVirtualDevice
|
|
|
|
plugins {
|
|
id 'com.android.test'
|
|
id 'org.jetbrains.kotlin.android'
|
|
}
|
|
|
|
android {
|
|
namespace 'com.dolphin.benchmark'
|
|
compileSdk 33
|
|
|
|
compileOptions {
|
|
sourceCompatibility = "11"
|
|
targetCompatibility = "11"
|
|
}
|
|
|
|
kotlinOptions {
|
|
jvmTarget = "11"
|
|
}
|
|
|
|
defaultConfig {
|
|
minSdk 23
|
|
targetSdk 33
|
|
|
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
}
|
|
|
|
testOptions {
|
|
managedDevices {
|
|
devices {
|
|
pixel6Api31 (ManagedVirtualDevice) {
|
|
device = "Pixel 6"
|
|
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 {
|
|
signingConfig signingConfigs.debug
|
|
matchingFallbacks = ['release']
|
|
debuggable true
|
|
applicationIdSuffix ".benchmark"
|
|
versionNameSuffix '-benchmark'
|
|
proguardFiles getDefaultProguardFile(
|
|
'proguard-android-optimize.txt'),
|
|
'proguard-rules.pro'
|
|
minifyEnabled true
|
|
shrinkResources true
|
|
}
|
|
}
|
|
|
|
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.2.0'
|
|
implementation 'androidx.benchmark:benchmark-macro-junit4:1.1.1'
|
|
}
|
|
|
|
androidComponents {
|
|
beforeVariants(selector().all()) {
|
|
enabled = buildType == "benchmark"
|
|
}
|
|
}
|