feat: Android signing config (demo keystore optional) + keystore.properties.example

This commit is contained in:
2026-09-01 18:55:58 +08:00
parent 42ad836e95
commit 7dc1a2665f
3 changed files with 47 additions and 0 deletions
+33
View File
@@ -1,6 +1,13 @@
plugins {
id 'com.android.application'
}
def keystorePropertiesFile = rootProject.file("keystore.properties")
def keystoreProperties = new Properties()
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
android {
namespace 'com.dshwatch.app'
compileSdk 34
@@ -11,17 +18,43 @@ android {
versionCode 1
versionName "0.1.0"
}
signingConfigs {
if (keystorePropertiesFile.exists()) {
debug {
storeFile file(keystoreProperties['debug.store.file'])
storePassword keystoreProperties['debug.store.password']
keyAlias keystoreProperties['debug.key.alias']
keyPassword keystoreProperties['debug.key.password']
}
release {
storeFile file(keystoreProperties['release.store.file'])
storePassword keystoreProperties['release.store.password']
keyAlias keystoreProperties['release.key.alias']
keyPassword keystoreProperties['release.key.password']
}
}
}
buildTypes {
release {
minifyEnabled false
if (keystorePropertiesFile.exists()) {
signingConfig signingConfigs.release
}
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled false
if (keystorePropertiesFile.exists()) {
signingConfig signingConfigs.debug
}
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
implementation 'androidx.appcompat:appcompat:1.6.1'