Это вопрос с ответами на вопрос, чтобы поделиться своими знаниями.
У меня есть проект с несколькими вкусами продукта, и я хочу интегрировать Fabric, используя отдельные организации для каждого продукта.
Я попытался интегрировать Fabric, используя Android Studio Fabric Plugin. Он добавляет
<meta-data
android:name="io.fabric.ApiKey"
android:value="DEFAULT_ORGANIZATION_API_KEY" />
в AndroidManifest.xml
исходного набора main
.
Я решил переписать эту запись в конкретных вариантах набора вариантов приложения:
<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>
Затем я обнаружил, что плагин Fabric Gradle генерирует файл crashlytics.properties
с тэгом api secret (секретный код AKA) во время сборки, и я должен включить этот файл в исходный элемент управления. Но этот файл перезаписывается каждый раз, когда я создаю конкретный вариант приложения, потому что секрет api уникален для каждого приложения.
Как я могу интегрировать Fabric, используя отдельные организации для каждого варианта приложения?