Android Gradle - load signing config from external file

前端 未结 4 700
旧巷少年郎
旧巷少年郎 2020-12-15 07:39

In Gradle for Android it seems to be commons practice to define your signing config for release build like this:

android {
    signingConfigs {
        debu         


        
4条回答
  •  半阙折子戏
    2020-12-15 08:17

    I use something like this.

    I have a signing.properties in my app root folder.

    STORE_FILE=xxxx
    STORE_PASSWORD=xxx
    KEY_ALIAS=xxx
    KEY_PASSWORD=xxx
    

    This file is not on under version control. Of course you can change folder.

    Then in your build.gradle you can use something like this:

     android {
    
            signingConfigs {
                release
            }
    
            buildTypes {
                    release {
                        signingConfig signingConfigs.release
                    }     
            }
        }
    
        def Properties props = new Properties()
        def propFile = file('../signing.properties')
        if (propFile.canRead()){
            props.load(new FileInputStream(propFile))
    
            if (props!=null && props.containsKey('STORE_FILE') && props.containsKey('STORE_PASSWORD') &&
                    props.containsKey('KEY_ALIAS') && props.containsKey('KEY_PASSWORD')) {
    
                android.signingConfigs.release.storeFile = file(props['STORE_FILE'])
                android.signingConfigs.release.storePassword = props['STORE_PASSWORD']
                android.signingConfigs.release.keyAlias = props['KEY_ALIAS']
                android.signingConfigs.release.keyPassword = props['KEY_PASSWORD']
            } else {
                android.buildTypes.release.signingConfig = null
            }
        }else {
            android.buildTypes.release.signingConfig = null
        }
    

    If you change the folder, you have to change this line:

     def propFile = file('../signing.properties')
    

提交回复
热议问题