From 92d497886e525f7f9d359182b761ad0091ecf394 Mon Sep 17 00:00:00 2001 From: Hermes Agent Date: Fri, 9 Oct 2026 09:29:18 +0800 Subject: [PATCH] =?UTF-8?q?build:=20=E9=85=8D=E7=BD=AE=20release=20?= =?UTF-8?q?=E7=AD=BE=E5=90=8D=EF=BC=88keystore.properties=20=E5=B7=B2=20.g?= =?UTF-8?q?itignore=EF=BC=89=EF=BC=8C=E6=94=AF=E6=8C=81=20assembleRelease/?= =?UTF-8?q?bundleRelease?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 4 ++++ app/build.gradle.kts | 20 ++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/.gitignore b/.gitignore index 5516808..6ce0cb2 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,7 @@ local.properties !apk/*.apk tools/ notes.txt +keystore.properties +*.jks +*.keystore +*.aab diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 8b9eb38..2617dd8 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,8 +1,16 @@ +import java.util.Properties + plugins { id("com.android.application") id("org.jetbrains.kotlin.android") } +// release 签名:从仓库根的 keystore.properties 读取(该文件已 .gitignore,缺失时不影响 debug 构建) +val ksProps = Properties().apply { + val f = rootProject.file("keystore.properties") + if (f.exists()) f.inputStream().use { load(it) } +} + android { namespace = "com.iptv807.tv" compileSdk = 35 @@ -15,9 +23,21 @@ android { versionName = "9.3.0" } + signingConfigs { + if (ksProps.isNotEmpty()) { + create("release") { + storeFile = rootProject.file(ksProps.getProperty("storeFile", "")) + storePassword = ksProps.getProperty("storePassword") + keyAlias = ksProps.getProperty("keyAlias") + keyPassword = ksProps.getProperty("keyPassword") + } + } + } + buildTypes { release { isMinifyEnabled = false + signingConfig = signingConfigs.findByName("release") proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro") } }