Crashlytics (Fabric) separate Organisationen für Anwendungsvarianten (Build-Typen, Produktvarianten)

Dies ist eine selbst beantwortete Frage, um mein Wissen zu teilen.

Ich habe ein Projekt mit mehreren Produktvarianten und möchte Fabric über separate Organisationen für jede Produktvariante integrieren.

Ich habe versucht, Fabric mit dem Android Studio Fabric Plugin zu integrieren. Es fügt hinz

<meta-data
    android:name="io.fabric.ApiKey"
    android:value="DEFAULT_ORGANIZATION_API_KEY" />

eintrag zuAndroidManifest.xml vonmain source set.

Ich habe beschlossen, diesen Eintrag in anwendungsvariantenspezifische Quellensets umzuschreiben:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

    <application>
        <meta-data
            android:name="io.fabric.ApiKey"
            android:value="SECOND_ORGANIZATION_API_KEY"
            tools:replace="android:value" />
    </application>
</manifest>

Dann habe ich festgestellt, dass das Fabric Gradle-Plugin @ generiercrashlytics.properties -Datei mit Fabric-API-Geheimnis (AKA-Erstellungsgeheimnis) während der Erstellung und ich sollte diese Datei zur Quellcodeverwaltung hinzufügen. Diese Datei wird jedoch jedes Mal überschrieben, wenn ich eine bestimmte Anwendungsvariante erstelle, da api secret für jede Anwendung eindeutig ist.

Wie kann ich Fabric über separate Organisationen für jede Anwendungsvariante integrieren?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage