2017-12-19 4 views
0

Ich arbeite an einem Open-Source-Projekt (Kotlin, Toothpick, saubere Architektur - heutzutage Hype-Themen, aber das ist nicht die Frage :). Ich bin mit Stoff des Crashlytics, so versteckte ich die API und geheime Schlüssel in fabric.properties nach dem the official docs (und here are some details)Dummy-Fabric-Api-Schlüssel für ein Open-Source-Projekt erstellen

Die Frage ist, was der beste Weg ist, um einige Dummy-Tasten, um Mitarbeiter zu schaffen, ohne Konflikte zu lösen, zu benötigen fusionieren in dieser Eigenschaftendatei? Wenn ich das Projekt ohne diese Datei veröffentliche, stürzt es beim Build ab, weil Fabric die benötigten Schlüssel nicht findet.

Die Optionen Ich sehe:

  1. ein fabric.properties mit vordefinierten API und geheimen Schlüsseln anhänge, die nicht von dem eigentlichen App Armaturenbrett sind, also wenn jemand (absichtlich oder nicht) Bremsen Analytik oder etwas, ihre Daten wird in einem separaten Dashboard sein.
  2. Nichts tun, also wenn jemand interessiert ist, müssen sie es manuell tun.
  3. die wirklichen Schlüssel zum Repo-Stellen (ich glaube nicht, dass es eine gute Idee ist, aber wenn Sie andere Erfahrung haben, teilen Sie es bitte)
  4. Vielleicht hat Stoff einige Dummy-Tasten einfach nicht die zum Scheitern verurteilt baue ohne sie (ich habe sie nicht gefunden)?

  5. Etwas anderes?

Antwort

1

Mike von Fabric hier. Eine Option, die Sie ergreifen könnten, besteht darin, die Initialisierung von Fabric zu deaktivieren, es sei denn, die Schlüssel sind vorhanden oder ein zur Erstellungszeit eingelesener Wert ist vorhanden oder nicht. Die beste Implementierung hängt von Ihrem spezifischen Setup ab, also entschuldigen Sie sich, dass Sie etwas vage sind.

+0

Was meinen Sie mit "Deaktivieren der Initialisierung"? Habe ich Recht, dass wir das Fabric-Plugin deaktivieren müssen, damit die fabricGenerateResources-Task fehlschlägt? Oder ist es möglich, es irgendwie zu konfigurieren, Fabric.with (...) in der Application-Klasse einfach nicht aufzurufen? Jetzt , wir initialisieren es in Anwendung onCreate, für Debug deaktivieren: val crashlyticsKit = Crashlytics.Builder() .CORE (. CrashlyticsCore.Builder() deaktiviert (BuildConfig.DEBUG) .build()) .build() Fabric.with (this, crashlyticsKit) – Gaket

+0

Sie möchten dies zu jeder Build-Konfiguration hinzufügen ext.enableCrashlytics = false, und dann eine Konfiguration wie diese haben: Crashlytics crashlyticsKit = new Crashlytics.Builder() .core (neue CrashlyticsCore.Builder() .disabled (BuildConfig.DEBUG) .build()) .build(); Fabric.with (dies, crashlyticsKit); Alternativ können Sie die Erstellungszeitressourcen generieren und die Fabric-Initialisierung in eine if-Überprüfung eines booleschen Flags umbrechen. –

Verwandte Themen