DEPRECATED Подготовка проекта к выгрузке в Fabric

March 2, 2020 · View on GitHub

Неактуально. Использовать firebase app distribution

  1. Проект должен быть проинициализирован из актуального template.
  2. Авторизоваться в fabric через рабочую почту.
  3. Создать организацию для проекта или использовать уже существующую организацию.
    Чтобы попасть в список организаций нажмите на иконку шестиренки на стрнице fabric
  4. В проекте зайти в app/src/main/AndroidManifest.xml и найти следующие строчки (если нет добавить самому)
<!-- todo Insert fabric key here
        <meta-data
            android:name="io.fabric.ApiKey"
            android:value="" /> -->
  1. В fabric зайти в организацию скопировать поле API Key и вставить в android:value=""
  2. В пакете app создать файл fabric.properties с полем apiSecret. В это поле вставить значение из Build Secret организации (см. П5)
    Должно получиться следующее:
  3. Убедиться что в классе 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())
  1. Зайти в файл 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"]
        }
  1. В студии выбрать необходимый BuildType с ним собрать и запустить приложение.
    На девайсе должно появиться приложение с applicationId - ru.myapp.android.qa, а в fabric c аналогичным id должен появиться проект. !Важно, приложение должно запускаться с активным интернетом.
  2. Далее необходимо настроить alias на группу тестирования. Для этого на экране fabric зайти в BETA -> Manage Group.
  3. Должно появиться окошко со списком доступных групп, если нет необходимой группы то добавить.
  4. Далее необходимо нажать на небходимую группу и убедиться, что в группе присутствуют разрешенные адреса тестеровщиков.
  5. В этом же окошке находим поле Alias и копируем его.
  6. Зайти в файл 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"]
            }
    
  7. Убедиться что gradle task crashlyticsUploadDistributionQa выполняется успешно.

Если вы сделали всё верно, то в beta должна появиться ваша сборка для тестирования. Данная инструкция подходит и для других buildType.