Szukaj…


Skonfiguruj build.gradle z konfiguracją podpisywania

Możesz zdefiniować konfigurację podpisywania, aby podpisać apk w pliku build.gradle .

Możesz zdefiniować:

  • storeFile : plik kluczy
  • storePassword : hasło do storePassword kluczy
  • keyAlias : nazwa aliasu klucza
  • keyPassword : Hasło aliasu klucza

Musisz zdefiniować blok signingConfigs , aby utworzyć konfigurację podpisywania:

android {
    signingConfigs {

        myConfig {
            storeFile file("myFile.keystore")
            storePassword "myPasswork"
            keyAlias "aKeyAlias"
            keyPassword "myAliasPassword"
        }
    }
    //....
}

Następnie możesz przypisać go do jednego lub więcej typów kompilacji.

android {

    buildTypes {
        release {
            signingConfig signingConfigs.myConfig
        }
    }
}

Zdefiniuj konfigurację podpisywania w pliku zewnętrznym

Możesz zdefiniować konfigurację podpisywania w pliku zewnętrznym jako signing.properties w katalogu głównym swojego projektu.

Na przykład możesz zdefiniować te klucze (możesz użyć swoich ulubionych nazw):

STORE_FILE=myStoreFileLocation    
STORE_PASSWORD=myStorePassword
KEY_ALIAS=myKeyAlias
KEY_PASSWORD=mykeyPassword

Następnie w pliku build.gradle:

android {

    signingConfigs {
        release
    }
    
     buildTypes {
        release {
            signingConfig signingConfigs.release
        }
     }
}

Następnie możesz wprowadzić pewne kontrole, aby uniknąć problemów stopniowych w procesie kompilacji.

//------------------------------------------------------------------------------
// Signing
//------------------------------------------------------------------------------
def Properties props = new Properties()
def propFile = file('../signing.properties')
if (propFile.canRead()) {

    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
}

Zdefiniuj zmienne środowiskowe ustawienia konfiguracji podpisywania

Możesz przechowywać zmienne środowiskowe informacji o podpisywaniu.
Dostęp do tych wartości można uzyskać za pomocą System.getenv("<VAR-NAME>")

W swoim build.gradle możesz zdefiniować:

signingConfigs {
    release {
        storeFile file(System.getenv("KEYSTORE"))
        storePassword System.getenv("KEYSTORE_PASSWORD")
        keyAlias System.getenv("KEY_ALIAS")
        keyPassword System.getenv("KEY_PASSWORD")
    }
}

Zdefiniuj konfigurację podpisywania w osobnym pliku ocen

Najprostszym i najczystszym sposobem na dodanie konfiguracji zewnętrznej jest osobny plik Gradle

build.gradle

apply from: './keystore.gradle'
android{
    signingConfigs {
        release {
            storeFile file(keystore.storeFile)
            storePassword keystore.storePassword
            keyAlias keystore.keyAlias
            keyPassword keystore.keyPassword
        }
    }
}

keystore.gradle

ext.keystore = [
    storeFile    : "/path/to/your/file",
    storePassword: 'password of the store',
    keyAlias     : 'alias_of_the_key',
    keyPassword  : 'password_of_the_key'
]

Plik keystore.gradle może istnieć w dowolnym miejscu w systemie plików, możesz określić jego lokalizację w aplikacji, apply from: '' u góry pliku gradle lub na końcu głównego pliku build.gradle głównego projektu.

Zazwyczaj dobrym pomysłem jest zignorowanie tego pliku z systemu kontroli wersji, takiego jak git, jeśli znajduje się on w repozytorium.

Dobrym pomysłem jest również podanie przykładowego pliku keystore.gradle.sample który programiści wchodzący do projektu zmieniliby i zmienili na swoim komputerze programistycznym. Ten plik będzie zawsze zawarty w repozytorium we właściwej lokalizacji.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow