rabbit-android/app/build.gradle.kts

155 lines
5.1 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

plugins {
id("com.android.application")
alias(libs.plugins.compose.compiler)
kotlin("plugin.serialization") version "2.3.0"
}
android {
namespace = "com.img.rabbit"
compileSdk = 36
buildFeatures {
compose = true
buildConfig = true
viewBinding = true
}
composeOptions {
kotlinCompilerExtensionVersion = "1.4.8"
}
defaultConfig {
applicationId = "com.img.rabbit"
minSdk = 24
targetSdk = 36
versionCode = 2
versionName = "1.1"
setManifestPlaceholders(mapOf(
"GETUI_APPID" to (project.findProperty("GETUI_APPID") as? String ?: ""),
"GT_INSTALL_CHANNEL" to (project.findProperty("GT_INSTALL_CHANNEL") as? String ?: "GT_INSTALL_CHANNEL")
))
ndk {
abiFilters.addAll(listOf("arm64-v8a", "x86_64"))
}
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables {
useSupportLibrary = true
}
multiDexEnabled = true
resConfigs("en", "zh-rCN")
flavorDimensions.addAll(listOf("channel"))
productFlavors {
create("general") {
dimension = "channel"
manifestPlaceholders["UMENG_CHANNEL"] = "general"
}
}
productFlavors.configureEach {
dimension = "channel"
manifestPlaceholders.putAll(mapOf("UMENG_CHANNEL" to name))
}
manifestPlaceholders.putAll(mapOf(
"GETUI_APPID" to "40qbPjPkYs7TnVAYCX0Ig6",
"GT_INSTALL_CHANNEL" to "general",
))
}
// 配置签名信息
signingConfigs {
create("config") {
storeFile = file(project.findProperty("RELEASE_STORE_FILE") ?: "bidinfo.keystore")
storePassword = project.findProperty("RELEASE_STORE_PASSWORD") as? String ?: ""
keyAlias = project.findProperty("RELEASE_KEY_ALIAS") as? String ?: ""
keyPassword = project.findProperty("RELEASE_KEY_PASSWORD") as? String ?: ""
enableV1Signing = true
enableV2Signing = true
enableV3Signing = true
}
}
buildTypes {
getByName("debug") {
isMinifyEnabled = false
isShrinkResources = false
signingConfig = signingConfigs.getByName("config")
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
}
getByName("release") {
isMinifyEnabled = false
isShrinkResources = false
signingConfig = signingConfigs.getByName("config")
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
}
dependencies {
// 基础依赖
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.appcompat)
implementation(libs.androidx.material)
implementation(libs.androidx.activity)
implementation(libs.androidx.constraintlayout)
implementation(libs.androidx.core.splashscreen)
// Compose 依赖
implementation(platform(libs.androidx.compose.bom))
implementation(libs.androidx.compose.ui)
implementation(libs.androidx.compose.ui.tooling)
implementation(libs.androidx.compose.ui.tooling.preview)
implementation(libs.androidx.compose.material3)
implementation(libs.androidx.compose.activity.compose)
implementation(libs.androidx.compose.foundation)
implementation(libs.androidx.navigation.runtime.ktx)
// ViewModel 和 Lifecycle 依赖
implementation(libs.androidx.compose.runtime.livedata)
implementation(libs.androidx.compose.lifecycle.viewmodel)
implementation(libs.androidx.compose.lifecycle.runtime.compose)
implementation(libs.androidx.compose.runtime.livedata)
// Kotlinx Serialization 依赖
implementation(libs.kotlinx.serialization.json)
implementation(libs.androidx.navigation.compose)
implementation(libs.androidx.datastore.core)
implementation(libs.androidx.datastore.preferences)
implementation(libs.androidx.foundation)
// 测试依赖
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.test.ext.junit)
androidTestImplementation(libs.androidx.test.espresso.core)
//个推一键认证
implementation(libs.gysdk)
implementation(libs.gson)
implementation(libs.mmkv)
implementation(libs.coil.compose)
implementation(libs.coil.network.okhttp)
implementation(libs.segmentation.selfie)
implementation(libs.face.detection)
implementation(libs.android.gif.drawable)
implementation(libs.gif.encoder)
implementation("com.caverock:androidsvg:1.4")
implementation("io.github.lucksiege:pictureselector:v3.11.2")
// 压缩库 (可选建议长图拼接前先压缩防止OOM)
implementation("io.github.lucksiege:compress:v3.11.2")
implementation("io.github.leavesczy:matisse:2.3.0")
implementation("com.github.moyuruaizawa:cropify:0.5.2")
}