Veloria/app/build.gradle.kts
2025-06-11 10:03:41 +08:00

137 lines
4.1 KiB
Plaintext

import java.text.SimpleDateFormat
import java.util.Date
plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
}
android {
namespace = "com.veloria.now.shortapp"
compileSdk = 34
defaultConfig {
applicationId = "com.veloria.now.shortapp"
minSdk = 24
targetSdk = 34
versionCode = 3
versionName = "1.0.2"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
signingConfigs {
create("release") {
storeFile = file(project.properties["RELEASE_STORE_FILE"] as String)
storePassword = project.properties["RELEASE_STORE_PASSWORD"] as String
keyAlias = project.properties["RELEASE_KEY_ALIAS"] as String
keyPassword = project.properties["RELEASE_KEY_PASSWORD"] as String
}
}
buildTypes {
release {
isMinifyEnabled = true
isShrinkResources = true
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
signingConfig = signingConfigs.getByName("release")
}
debug {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
signingConfig = signingConfigs.getByName("release")
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = "1.8"
}
buildFeatures {
viewBinding = true
dataBinding = true
}
android.applicationVariants.all {
val buildType = this.buildType.name
val date = SimpleDateFormat("yyyy-MM-dd HH-mm-ss").format(Date())
outputs.all {
if (this is com.android.build.gradle
.internal.api.ApkVariantOutputImpl
) {
this.outputFileName = "Veloria" +
"_${android.defaultConfig.versionName}_${android.defaultConfig.versionCode}_${date}_${buildType}.apk"
}
}
}
}
dependencies {
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.appcompat)
implementation(libs.material)
implementation(libs.androidx.constraintlayout)
implementation(libs.androidx.lifecycle.livedata.ktx)
implementation(libs.androidx.lifecycle.viewmodel.ktx)
implementation(libs.androidx.navigation.fragment.ktx)
implementation(libs.androidx.navigation.ui.ktx)
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
// Retrofit
implementation(libs.okhttp)
implementation(libs.logging.interceptor)
implementation(libs.retrofit)
implementation(libs.converter.gson)
implementation(libs.mmkv)
implementation(libs.kotlinx.coroutines.android)
implementation(libs.baserecyclerviewadapterhelper4)
// banner
implementation(libs.banner)
implementation(libs.glide)
//utils
implementation(libs.greenrobot.eventbus)
implementation(libs.utilcodex)
implementation(libs.shapeblurview)
// refresh
implementation(libs.refresh.layout.kernel)
implementation(libs.refresh.header.material)
implementation(libs.scwang90.refresh.footer.classics)
implementation(libs.github.refresh.footer.ball)
implementation(libs.getactivity.shapeview)
implementation(libs.flexbox)
//media3
implementation(libs.androidx.media3.ui)
implementation(libs.androidx.media3.exoplayer)
implementation(libs.androidx.media3.exoplayer.dash)
implementation(libs.androidx.media3.exoplayer.hls)
implementation(files("lib/lib-drama-explore-ffmpeg.aar"))
//facebook
implementation(libs.com.facebook.android.facebook.android.sdk)
//adjust
implementation(libs.adjust.android)
implementation(libs.adjust.android.webbridge)
implementation(libs.com.android.installreferrer.installreferrer2)
//billing
implementation(libs.billing)
}