Как прочитать пароль из файла свойств и использовать его в файле build.gradle? - PullRequest
0 голосов
/ 14 апреля 2020

У меня в build.gradle следующее:

signingConfigs
   release {
            storeFile file('/Users/name/testproject/test')
            storePassword getProps("KEYSTORE_PASSWORD")
            keyAlias = 'test'
            keyPassword = getProps("KEYSTORE_PASSWORD")
        }
def getProps(String propName) {
    def propsFile = rootProject.file('secrets.properties')
    if (propsFile.exists()) {
        def props = new Properties()
        props.load(new FileInputStream(propsFile))
        return props[propName]
    } else {
        return ""
    }
}

И в файле secrets.properties у меня есть пароль хранилища ключей, но я получаю его, когда пытаюсь собрать релиз APK:

Cannot recover key

1 Ответ

0 голосов
/ 14 апреля 2020

Я обычно загружаю секретную папку со всем содержимым, для начала и определяю псевдоним, а затем использую этот объект для обращения ко всем определенным паролям в файле secrets.

В начало файла build.gradle :

def secrets = new Properties()
file("../secrets.properties").withInputStream {
    stream -> secrets.load(stream)
}

fileTree("../secrets").matching {
    include "**/*.properties"
}.each {
    File file ->
        file.withInputStream {
            stream -> secrets.load(stream)
        }
}

тогда, где мне это нужно:

release {
    // ...
    key = secrets.MY_KEY
}
...