Skip to content

Instantly share code, notes, and snippets.

@omkar-tenkale
Created October 27, 2024 08:31
Show Gist options
  • Save omkar-tenkale/64f3faa254b3e8a9785709e4c2454ada to your computer and use it in GitHub Desktop.
Save omkar-tenkale/64f3faa254b3e8a9785709e4c2454ada to your computer and use it in GitHub Desktop.
Example of declaring Android signing configs using Gradle Kotlin DSL with gitignore keystore.properties

Using keystore.properties files (create it in project root, gitignored)

Contents of keystore.properties

storePassword=mypass
keyPassword=mypass
keyAlias=key0

In app module build.gradle.kts


...

    defaultConfig {
        applicationId = "com.myapp"
        minSdk = 24
        targetSdk = 34
        versionCode = 2
        versionName = "1.1"

        testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
        vectorDrawables {
            useSupportLibrary = true
        }
    }

    val keystorePropertiesFile = rootProject.file("keystore.properties")
    val keystoreProperties = Properties().apply {
        load(FileInputStream(keystorePropertiesFile))
    }
    signingConfigs {
        create("release") {
            storeFile = file("$rootDir/keystore.jks")
            storePassword = keystoreProperties["storePassword"] as String
            keyAlias = keystoreProperties["keyAlias"] as String
            keyPassword = keystoreProperties["keyPassword"] as String
        }

    }

    buildTypes {
        release {
            isMinifyEnabled = true
            isShrinkResources = true
            isDebuggable = true
            signingConfig = signingConfigs["release"]
            proguardFiles(
                getDefaultProguardFile("proguard-android-optimize.txt"),
                "proguard-rules.pro"
            )
        }
    }
    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
    }
    
    ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment