diff --git a/.gitignore b/.gitignore index 5d46ae1..b7b7be9 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,9 @@ release/FlexCam-Windows.zip # Personal handoff/backup note (not for the repo) FLEXCAM-HANDOFF.md + +# Signing keys and secrets (never commit) +*.jks +*.keystore +keystore.properties +android/keystore.properties diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts index f999d74..f2503d7 100644 --- a/android/app/build.gradle.kts +++ b/android/app/build.gradle.kts @@ -1,9 +1,18 @@ +import java.io.FileInputStream +import java.util.Properties + plugins { id("com.android.application") id("org.jetbrains.kotlin.android") } android { + val keystorePropertiesFile = rootProject.file("keystore.properties") + val keystoreProperties = Properties() + if (keystorePropertiesFile.exists()) { + keystoreProperties.load(FileInputStream(keystorePropertiesFile)) + } + namespace = "com.flexcam" compileSdk = 36 @@ -15,9 +24,25 @@ android { versionName = "1.3" } + signingConfigs { + if (keystorePropertiesFile.exists()) { + create("release") { + storeFile = file(keystoreProperties["storeFile"] as String) + storePassword = keystoreProperties["storePassword"] as String + keyAlias = keystoreProperties["keyAlias"] as String + keyPassword = keystoreProperties["keyPassword"] as String + enableV2Signing = true + enableV3Signing = true + } + } + } + buildTypes { release { isMinifyEnabled = false + if (keystorePropertiesFile.exists()) { + signingConfig = signingConfigs.getByName("release") + } } } diff --git a/release/FlexCam.apk b/release/FlexCam.apk index c9dceb1..45fcc80 100644 Binary files a/release/FlexCam.apk and b/release/FlexCam.apk differ