build(android): 接入正式签名配置 + 版本号改为 1.1.0-dev.1 (2)
- app/build.gradle.kts 读取 android/key.properties(不存在时回退 debug keystore) - .gitignore 忽略 key.properties / keystore / *.jks - pubspec: version 1.1.0-dev.1+2 注意:key.properties 与 keystore 文件由开发者本地生成,不入库。 生成后 flutter build apk --release 即为正式签名包。
This commit is contained in:
@@ -4,6 +4,18 @@ plugins {
|
||||
id("dev.flutter.flutter-gradle-plugin")
|
||||
}
|
||||
|
||||
// 正式签名:android/key.properties(不入库)
|
||||
// 文件缺失时自动回退到 debug keystore,保证 clone 下来也能直接构建
|
||||
import java.io.FileInputStream
|
||||
import java.util.Properties
|
||||
|
||||
val keystorePropertiesFile = rootProject.file("key.properties")
|
||||
val keystoreProperties = Properties()
|
||||
val hasReleaseKeystore = keystorePropertiesFile.exists()
|
||||
if (hasReleaseKeystore) {
|
||||
FileInputStream(keystorePropertiesFile).use { keystoreProperties.load(it) }
|
||||
}
|
||||
|
||||
android {
|
||||
namespace = "com.lxh.qingting_player"
|
||||
compileSdk = flutter.compileSdkVersion
|
||||
@@ -47,6 +59,17 @@ android {
|
||||
resValues = true
|
||||
}
|
||||
|
||||
signingConfigs {
|
||||
create("release") {
|
||||
if (hasReleaseKeystore) {
|
||||
keyAlias = keystoreProperties.getProperty("keyAlias")
|
||||
keyPassword = keystoreProperties.getProperty("keyPassword")
|
||||
storeFile = rootProject.file(keystoreProperties.getProperty("storeFile"))
|
||||
storePassword = keystoreProperties.getProperty("storePassword")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
debug {
|
||||
// 测试包与正式包并存安装:com.lxh.qingting_player.dev
|
||||
@@ -56,9 +79,13 @@ android {
|
||||
resValue("string", "app_name", "清听 Dev")
|
||||
}
|
||||
release {
|
||||
// TODO: 上线前换成正式签名(当前沿用 debug keystore)
|
||||
resValue("string", "app_name", "清听")
|
||||
signingConfig = signingConfigs.getByName("debug")
|
||||
// 有 key.properties 就用正式签名,否则回退 debug(仅本机调试用)
|
||||
signingConfig = if (hasReleaseKeystore) {
|
||||
signingConfigs.getByName("release")
|
||||
} else {
|
||||
signingConfigs.getByName("debug")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user