2017-05-11 1 views
0

Ich habe eine Weile mit Android gespielt. Jetzt, wo ich meine Bewerbung habe und meine signierte Version (Testzwecke) generieren konnte, kam ich mit der Frage, die ich Ihnen bringe: Soll ich dieses Zertifikat in meinem Repo speichern?Store Android Zeichen Zertifikat in Versionskontrolle

Normalerweise ziehe ich keine sensiblen Informationen in ihnen enthalten, aber als ich im Begriff war, Änderungen zu übernehmen, ich sehe, dass Android Studio build.graddle mit storeFile modifizierte und storePassword drin (ich /home/user mein Zertifikat gespeichert, wie wurde nichts davon erwartet)

ich werde Ihre Gedanken

Antwort

1

was ich tue ist .. ich die App Gradle in 3 Teile trennen.

build.gradle -> Haupt gradle

Import dieses 3 gradle in build.gradle
dependencies.gradle -> für die Liste der Abhängigkeiten
signing.gradle -> für App-Unterzeichnung Schlüsselspeicher
function.gradle -> für Methodenaufruf

in signing.gradle enthält nur wie diese

def alias = project.findProperty('APP_KEY_ALIAS') ?: EHALAL_KEY_ALIAS 
def key_password = project.findProperty('APP_KEY_PASSWORD') ?: EHALAL_KEY_PASSWORD 
def store_password = project.findProperty('APP_STORE_PASSWORD') ?: EHALAL_STORE_PASSWORD 
def store_file = project.findProperty('APP_KEY_STORE_FILE') ?: EHALAL_KEY_STORE_FILE 

if (alias && key_password && store_password && file(store_file).exists()) { 
    android { 
     signingConfigs { 
      release { 
       keyAlias alias 
       keyPassword key_password 
       storeFile file(store_file) 
       storePassword store_password 
      } 
     } 

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

mit diesem kann ich nur den Signing-Gradle-Teil in .gitignore ausschließen, nicht den ganzen build.gradle-Teil.

Ich schlage vor, dass Sie alle sensiblen Schlüssel in gradle.properties verschieben müssen, weil es nur in Ihrem lokalen ist. Siehe here

+0

Das ist massiv Gold! +1. Ich muss graddle besser verstehen, aber verstehe Ihre Vorgehensweise perfekt. Danke vielmals –

0

Sie sollten besser lieben das Zertifikat in der Versionskontrolle nicht zu hören, hinzufügen.

Sie können .gitignore verwenden, um die Datei (build.graddle) zu ignorieren, wenn sie sich im Repository-Repository-Verzeichnis befinden, da das Zertifikat vertrauliche Daten enthält.

Und wenn Sie die Datei zuvor in der Versionskontrolle festgeschrieben haben, sollten Sie die Datei von der Versionskontrolle durch git rm build.graddle --cached entfernen.

Verwandte Themen