Files
Eta_change/app/build.gradle.kts
DelLevin-Home 8a0e5e4bd3
Some checks failed
Eta Build / 构建 Debug 与 Release APK (push) Has been cancelled
修改github eta 2.6.1 兼容android13 去掉超级小爱hook
2026-08-18 20:36:17 +08:00

138 lines
4.0 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 {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.compose)
alias(libs.plugins.kotlin.serialization)
alias(libs.plugins.ksp)
}
val releaseStoreFile = System.getenv("ETA_RELEASE_STORE_FILE")
val releaseStorePassword = System.getenv("ETA_RELEASE_STORE_PASSWORD")
val releaseKeyAlias = System.getenv("ETA_RELEASE_KEY_ALIAS")
val releaseKeyPassword = System.getenv("ETA_RELEASE_KEY_PASSWORD")
val hasReleaseSigning = listOf(
releaseStoreFile,
releaseStorePassword,
releaseKeyAlias,
releaseKeyPassword
).all { !it.isNullOrBlank() }
java {
toolchain {
languageVersion = JavaLanguageVersion.of(25)
}
}
android {
namespace = "fuck.andes"
compileSdk = 37
defaultConfig {
applicationId = "fuck.andes"
minSdk = 33
targetSdk = 36
versionCode = 261
versionName = "2.6.1"
}
signingConfigs {
if (hasReleaseSigning) {
create("release") {
storeFile = file(requireNotNull(releaseStoreFile))
storePassword = releaseStorePassword
keyAlias = releaseKeyAlias
keyPassword = releaseKeyPassword
}
}
}
buildTypes {
debug {
isMinifyEnabled = false
isPseudoLocalesEnabled = true
}
release {
signingConfig = signingConfigs.findByName("release")
isMinifyEnabled = true
isShrinkResources = true
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_25
targetCompatibility = JavaVersion.VERSION_25
}
buildFeatures {
buildConfig = false
compose = true
}
androidResources {
localeFilters += listOf("en", "b+zh+Hans", "b+zh+Hant")
}
packaging {
resources {
// 合并 Xposed 模块声明,避免 release 裁剪后模块入口失效
merges += "META-INF/xposed/*"
// 仅排除会引发打包冲突的签名/版本元数据,避免误伤 Compose 资源
excludes += "META-INF/*.kotlin_module"
excludes += "META-INF/INDEX.LIST"
excludes += "META-INF/io.netty.versions.properties"
}
}
lint {
abortOnError = true
checkReleaseBuilds = false
}
testOptions {
unitTests.isIncludeAndroidResources = true
}
}
dependencies {
compileOnly(libs.libxposed.api)
// UI 侧 RemotePreferences 写入桥:通过 XposedService 将配置提交到 LSPosed 数据库;
// Hook 侧用 XposedInterface.getRemotePreferences 读取当前进程持有的配置缓存。
implementation(libs.libxposed.service)
implementation(libs.miuix.ui)
implementation(libs.miuix.blur)
implementation(libs.miuix.preference)
implementation(libs.miuix.navigation3.ui)
implementation(libs.lucide.icons)
implementation(libs.androidx.navigation3.runtime)
implementation(libs.activity.compose)
implementation(libs.markdown.renderer)
implementation(libs.markdown.renderer.m3)
// markdown-renderer-m3 将 material3 作为 compileOnly需显式引入以满足运行时依赖
implementation(libs.material3)
// DataStoreProvider / Model 结构化 JSON 与当前选中 ID 等键值
implementation(libs.datastore.preferences)
implementation(libs.room.runtime)
implementation(libs.room.ktx)
ksp(libs.room.compiler)
// OkHttp替代 HttpURLConnection支持 SSE
implementation(libs.okhttp)
implementation(libs.okhttp.sse)
// Kotlinx SerializationProvider 设置与运行时配置 JSON
implementation(libs.kotlinx.serialization.json)
// Coroutines显式引入避免依赖传递版本不确定
implementation(libs.kotlinx.coroutines.android)
testImplementation(libs.junit)
testImplementation(libs.json)
testImplementation(libs.room.testing)
testImplementation(libs.robolectric)
}