diff --git a/.gitignore b/.gitignore index bee6e81..0a877b0 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ local.properties .jules .kotlin .log +keystore.properties diff --git a/app/build.gradle.kts b/app/build.gradle.kts index aa9edfb..021e4d6 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,3 +1,6 @@ +import java.io.FileInputStream +import java.util.Properties + plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) @@ -21,6 +24,26 @@ android { testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } + val keystorePropertiesFile = rootProject.file("keystore.properties") + val hasKeystore = keystorePropertiesFile.exists() + + signingConfigs { + if (hasKeystore) { + create("release") { + val properties = Properties() + properties.load(FileInputStream(keystorePropertiesFile)) + + keyAlias = properties.getProperty("keyAlias") + keyPassword = properties.getProperty("keyPassword") + val storeFileName = properties.getProperty("storeFile") + if (storeFileName != null) { + storeFile = keystorePropertiesFile.parentFile.resolve(storeFileName.toString()) + } + storePassword = properties.getProperty("storePassword") + } + } + } + buildTypes { release { isMinifyEnabled = false @@ -28,7 +51,9 @@ android { getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) - signingConfig = signingConfigs.getByName("debug") + if (hasKeystore) { + signingConfig = signingConfigs.getByName("release") + } } debug { isMinifyEnabled = false diff --git a/keystore.properties.example b/keystore.properties.example new file mode 100644 index 0000000..d6406f7 --- /dev/null +++ b/keystore.properties.example @@ -0,0 +1,4 @@ +keyAlias=my-key-alias +keyPassword=my-key-password +storeFile=my-upload-key.keystore +storePassword=my-store-password \ No newline at end of file