Files
coco 723ce1af5c a
2026-07-03 15:12:48 +08:00

151 lines
4.0 KiB
Kotlin

import java.util.Properties
plugins {
id("com.android.application")
kotlin("android")
id("androidx.navigation.safeargs.kotlin")
alias(libs.plugins.kotlin.serialization)
alias(libs.plugins.google.ksp)
}
kotlin {
jvmToolchain(App.JdkVersion)
}
android {
compileSdk = App.CompileSDK
buildToolsVersion = App.BuildTools
namespace = App.Namespace
defaultConfig {
applicationId = App.ID
minSdk = App.MinSDK
targetSdk = App.TargetSDK
versionCode = App.VersionCode
versionName = App.VersionName
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
ksp {
arg("room.schemaLocation", "$projectDir/schemas")
}
vectorDrawables {
useSupportLibrary = true
}
}
signingConfigs {
}
buildTypes {
getByName("release") {
isMinifyEnabled = true
isMinifyEnabled = true
isShrinkResources = true
// signingConfig = signingConfigs.getByName("release")
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
getByName("debug") {
versionNameSuffix = "-debug"
applicationIdSuffix = ".debug"
isDebuggable = true
}
create("release-candidate") {
versionNameSuffix = "-rc"
applicationIdSuffix = ".rc"
isDebuggable = true
isMinifyEnabled = true
isShrinkResources = true
// signingConfig = signingConfigs.getByName("release")
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
bundle {
language {
enableSplit = false
}
}
androidResources {
generateLocaleConfig = true
}
buildFeatures {
viewBinding = true
compose = true
}
compileOptions {
isCoreLibraryDesugaringEnabled = true
}
composeOptions {
kotlinCompilerExtensionVersion = libs.versions.androidx.compose.compiler.get()
}
testOptions {
unitTests.isReturnDefaultValues = true
unitTests.all {
it.useJUnitPlatform()
}
}
}
dependencies {
implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar"))))
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.core.splashscreen)
implementation(libs.androidx.appcompat)
implementation(libs.androidx.constraintlayout)
implementation(libs.androidx.coordinatorlayout)
implementation(libs.androidx.recyclerview)
implementation(libs.androidx.work.runtime.ktx)
implementation(libs.androidx.biometric.ktx)
implementation(libs.androidx.datastore.preferences)
implementation(libs.androidx.viewpager2)
implementation(libs.androidx.navigation.ui.ktx)
implementation(libs.androidx.navigation.fragment.ktx)
implementation(libs.androidx.lifecycle.viewmodel.ktx)
implementation(libs.androidx.lifecycle.runtime.ktx)
implementation(libs.androidx.room.runtime)
implementation(libs.androidx.room.ktx)
ksp(libs.androidx.room.compiler)
implementation(libs.google.material)
implementation(libs.google.flexbox)
implementation(libs.kotlinx.coroutines.core)
implementation(libs.kotlinx.coroutines.android)
implementation(libs.kotlinx.serialization.json)
implementation(libs.kotlinx.datetime)
implementation(libs.androidx.compose.ui.viewbinding)
implementation(libs.androidx.compose.material3)
implementation(libs.androidx.compose.animation)
implementation(libs.timber)
implementation(libs.koin.android)
implementation(libs.recyclerview.animators)
implementation(libs.ticker)
implementation(libs.epoxy)
ksp(libs.epoxy.processor)
coreLibraryDesugaring(libs.android.tools.desugar.jdk.libs)
}
tasks.withType<Test> {
useJUnitPlatform()
}