Files
ts-mobile-go/android/app/build.gradle.kts
T

112 lines
3.4 KiB
Kotlin
Raw Permalink 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")
id("org.jetbrains.kotlin.android")
id("org.jetbrains.kotlin.plugin.compose")
id("org.jetbrains.kotlin.plugin.serialization")
}
android {
namespace = "com.tsmobile.app"
compileSdk = 35
defaultConfig {
applicationId = "com.tsmobile.app"
minSdk = 26
targetSdk = 35
versionCode = 7
versionName = "1.0.7"
}
signingConfigs {
create("release") {
// The release keystore is kept at the repository root by default.
// Gradle properties can still override this path for CI or local setups.
val defaultStoreFile = rootProject.projectDir.parentFile
.resolve("keystore/tsmobile-release.jks")
storeFile = defaultStoreFile
storePassword = providers.gradleProperty("TSMOBILE_STORE_PASSWORD").orNull
keyAlias = providers.gradleProperty("TSMOBILE_KEY_ALIAS")
.orElse("tsmobile-release")
.get()
keyPassword = providers.gradleProperty("TSMOBILE_KEY_PASSWORD").orNull
}
}
buildTypes {
release {
isMinifyEnabled = true
isShrinkResources = true
signingConfig = signingConfigs.getByName("release")
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = "17"
}
buildFeatures {
compose = true
}
// 引入 gomobile 生成的 AAR
// 将 Go 编译产物放到 app/libs/ 目录下
// 文件名: teamspeak.aar
}
dependencies {
// Compose BOM
val composeBom = platform("androidx.compose:compose-bom:2024.12.01")
implementation(composeBom)
// Compose UI
implementation("androidx.compose.ui:ui")
implementation("androidx.compose.ui:ui-graphics")
implementation("androidx.compose.ui:ui-tooling-preview")
implementation("androidx.compose.material3:material3")
implementation("androidx.compose.material:material-icons-extended")
// Activity & Navigation
implementation("androidx.activity:activity-compose:1.9.3")
implementation("androidx.navigation:navigation-compose:2.8.5")
// Lifecycle & ViewModel
implementation("androidx.lifecycle:lifecycle-runtime-compose:2.8.7")
implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7")
implementation("androidx.lifecycle:lifecycle-service:2.8.7")
implementation("androidx.lifecycle:lifecycle-process:2.8.7")
// DataStore (替代 localStorage)
implementation("androidx.datastore:datastore-preferences:1.1.1")
// Coroutines
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.9.0")
// JSON 序列化
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.3")
// HTTP client (更新检测)
implementation("com.squareup.okhttp3:okhttp:4.12.0")
// Coil 图片加载(Compose
implementation("io.coil-kt.coil3:coil-compose:3.0.4")
// gomobile AAR — 放到 app/libs/teamspeak.aar
implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.aar"))))
// Tests
testImplementation("junit:junit:4.13.2")
// Debug
debugImplementation("androidx.compose.ui:ui-tooling")
}