DEPRECATED Подготовка проекта к выгрузке в Fabric
March 2, 2020 · View on GitHub
Неактуально. Использовать firebase app distribution
- Проект должен быть проинициализирован из актуального template.
- Авторизоваться в fabric через рабочую почту.
- Создать организацию для проекта или использовать уже существующую организацию.
Чтобы попасть в список организаций нажмите на иконку шестиренки на стрнице fabric

- В проекте зайти в app/src/main/AndroidManifest.xml и найти следующие строчки (если нет добавить самому)
<!-- todo Insert fabric key here
<meta-data
android:name="io.fabric.ApiKey"
android:value="" /> -->
- В fabric зайти в организацию скопировать поле API Key и вставить в android:value=""

- В пакете app создать файл fabric.properties с полем apiSecret. В это поле вставить значение из Build Secret организации (см. П5)
Должно получиться следующее:

- Убедиться что в классе App.kt есть следующий код. И initFabric вызывается в методе onCreate()
private fun initFabric() {
Fabric.with(this, *getFabricKits())
}
private fun getFabricKits() =
arrayOf(Crashlytics.Builder()
.core(CrashlyticsCore.Builder()
.disabled(BuildConfig.DEBUG)
.build())
.build())
- Зайти в файл buildTypes.gradle и для всех необходимых buildType проставить applicationIdSuffix
Должно выглядеть следующим образом:
qa {
signingConfig signingConfigs.test
multiDexEnabled true
minifyEnabled true
debuggable = true
proguardFiles getDefaultProguardFile('proguard-android.txt'), '../proguard-rules.pro'
matchingFallbacks = ['release']
ext.betaDistributionNotifications = true
-> applicationIdSuffix config["qaVersionNameSuffix"]
}
- В студии выбрать необходимый BuildType с ним собрать и запустить приложение.
На девайсе должно появиться приложение с applicationId - ru.myapp.android.qa, а в fabric c аналогичным id должен появиться проект. !Важно, приложение должно запускаться с активным интернетом. - Далее необходимо настроить alias на группу тестирования. Для этого на экране fabric зайти в BETA -> Manage Group.
- Должно появиться окошко со списком доступных групп, если нет необходимой группы то добавить.
- Далее необходимо нажать на небходимую группу и убедиться, что в группе присутствуют разрешенные адреса тестеровщиков.
- В этом же окошке находим поле Alias и копируем его.

- Зайти в файл buildTypes.gradle и для всех необходимых buildType проставить ext.betaDistributionGroupAliases
Должно выглядеть следующим образом:
qa { signingConfig signingConfigs.test multiDexEnabled true minifyEnabled true debuggable = true proguardFiles getDefaultProguardFile('proguard-android.txt'), '../proguard-rules.pro' matchingFallbacks = ['release'] -> ext.betaDistributionGroupAliases = 'surf' ext.betaDistributionNotifications = true applicationIdSuffix config["qaVersionNameSuffix"] } - Убедиться что gradle task crashlyticsUploadDistributionQa выполняется успешно.
Если вы сделали всё верно, то в beta должна появиться ваша сборка для тестирования. Данная инструкция подходит и для других buildType.