11import org.jetbrains.kotlin.compose.compiler.gradle.ComposeFeatureFlag
2+ import java.io.FileInputStream
3+ import java.util.Properties
24
35plugins {
46 alias(libs.plugins.android.application)
@@ -10,15 +12,34 @@ plugins {
1012 alias(libs.plugins.google.services)
1113 alias(libs.plugins.room)
1214}
15+
16+ // https://developer.android.com/studio/publish/app-signing#secure-key
17+ // Init keystoreProperties variable from keystore.properties file
18+ val keystoreProperties by lazy {
19+ val keystorePropertiesFile = rootProject.file(" keystore.properties" )
20+ val keystoreProperties = Properties ()
21+
22+ if (keystorePropertiesFile.exists()) {
23+ keystoreProperties.load(FileInputStream (keystorePropertiesFile))
24+ } else {
25+ keystoreProperties[" storeFile" ] = System .getenv(" KEYSTORE_FILE" ) ? : " "
26+ keystoreProperties[" storePassword" ] = System .getenv(" KEYSTORE_PASSWORD" ) ? : " "
27+ keystoreProperties[" keyAlias" ] = System .getenv(" KEY_ALIAS" ) ? : " "
28+ keystoreProperties[" keyPassword" ] = System .getenv(" KEY_PASSWORD" ) ? : " "
29+ }
30+
31+ keystoreProperties
32+ }
33+
1334android {
1435 namespace = " to.bitkit"
1536 compileSdk = 35
1637 defaultConfig {
17- applicationId = " to.bitkit"
38+ applicationId = " to.bitkit.dev "
1839 minSdk = 28
1940 targetSdk = 35
2041 versionCode = 1
21- versionName = " 1.0 "
42+ versionName = " 0.0.1 "
2243 resourceConfigurations + = listOf (
2344 " en" , // Default (English)
2445 " ar" , // Arabic
@@ -49,18 +70,29 @@ android {
4970 keyAlias = " androiddebugkey"
5071 keyPassword = " android"
5172 }
73+ create(" release" ) {
74+ val keystoreFile = keystoreProperties.getProperty(" storeFile" ).takeIf { it.isNotBlank() }
75+ ?.let { rootProject.file(it) }
76+ storeFile = if (keystoreFile?.exists() == true ) keystoreFile else null
77+ // storeFile = rootProject.file(keystoreProperties.getProperty("storeFile"))
78+ storePassword = keystoreProperties.getProperty(" storePassword" )
79+ keyAlias = keystoreProperties.getProperty(" keyAlias" )
80+ keyPassword = keystoreProperties.getProperty(" keyPassword" )
81+ }
5282 }
5383 buildTypes {
5484 debug {
5585 signingConfig = signingConfigs.getByName(" debug" )
56- applicationIdSuffix = " .dev"
86+ // applicationIdSuffix = ".dev"
5787 }
5888 release {
5989 isMinifyEnabled = false
90+ isShrinkResources = false
6091 proguardFiles(
6192 getDefaultProguardFile(" proguard-android-optimize.txt" ),
6293 " proguard-rules.pro"
6394 )
95+ signingConfig = signingConfigs.getByName(" release" )
6496 }
6597 }
6698 compileOptions {
0 commit comments