Начало работы с Crashlytics для Android

Выберите платформу: iOS+ Android Android NDK Flutter Unity


В этом руководстве рассказывается, как начать работу с Firebase Crashlytics в приложении для Android.

После настройки SDK Firebase Crashlytics в приложении вы сможете получать подробные отчеты о сбоях в консоли Firebase. Crashlytics для Android позволяет получать отчеты о сбоях, некритических ошибках и ошибках "Приложение не отвечает" (ANR).

Чтобы получить помощь от ИИ, скопируйте запрос ниже и вставьте его в ИИ-агент для программирования, например Gemini в Android Studio, Antigravity, Claude Code, Codex или Cursor. Вы можете настроить запрос и выполнять итерации с агентом. Подробные инструкции по установке вы найдете в статье Навыки агента Firebase.

Help me use Firebase in my app.
1. Make sure that **Firebase agent skills** are installed and updated. For Claude Code, Codex, or Cursor agents, help me install the Firebase plugin. For other agents, run `npx skills add firebase/agent-skills`. Always try to use **Firebase agent skills** for Firebase-related tasks.
2. Help me set up Firebase Crashlytics for my app.

Подготовка

Чтобы настроить Crashlytics, нужно выполнить действия как в консоли Firebase, так и в интегрированной среде разработки (например, добавить файл конфигурации Firebase и SDK Crashlytics). Чтобы завершить настройку, вам нужно принудительно вызвать тестовый сбой и отправить первый отчет о нем в Firebase.

  1. Если вы ещё этого не сделали, добавьте Firebase в проект Android. Если у вас нет приложения для Android, вы можете скачать пример приложения.

  2. Рекомендуется. Чтобы автоматически получать историю действий пользователя, которая поможет понять, что привело к сбою, некритической ошибке или ошибке ANR, включите Google Analytics в проекте Firebase.

    • Если вы создаете новый проект Firebase, включите Google Analytics в процессе его создания.

    • Если вы используете существующий проект Firebase, в котором не включен сервис Google Analytics, включите его на странице Настройки > Интеграция в консоли Firebase.

  3. Убедитесь, что у вас установлены минимально необходимые версии приложений:

    • Gradle 8.0
    • Плагин Android Gradle 8.1.0
    • Плагин Google Services Gradle 4.4.1

Шаг 1. Добавьте SDK Crashlytics в приложение

В файле Gradle на уровне модуля (обычно <project>/<app-module>/build.gradle.kts или <project>/<app-module>/build.gradle) добавьте зависимость для библиотеки Crashlytics для Android. Для управления версиями библиотек рекомендуется использовать Firebase Android BoM.

Чтобы использовать историю действий пользователя, добавьте в приложение Firebase SDK для Google Analytics. Убедитесь, что в проекте Firebase включена Google Аналитика.

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:35.1.0"))

    // Add the dependencies for the Crashlytics and Analytics libraries
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-crashlytics")
    implementation("com.google.firebase:firebase-analytics")
}

Благодаря Firebase Android BoM в вашем приложении всегда будут использоваться совместимые версии библиотек Firebase Android.

(Альтернативный вариант) Добавьте зависимости библиотеки Firebase без использования BoM.

Если вы не хотите использовать Firebase BoM, вам нужно будет указать версию каждой библиотеки Firebase в строке зависимости.

Если вы используете в приложении несколько библиотек Firebase, настоятельно рекомендуем управлять их версиями с помощью BoM. Это позволит обеспечить совместимость всех версий.

dependencies {
    // Add the dependencies for the Crashlytics and Analytics libraries
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-crashlytics:21.0.1")
    implementation("com.google.firebase:firebase-analytics:24.0.0")
}

Шаг 2. Добавьте плагин Crashlytics Gradle в приложение

  1. В файл Gradle корневого уровня (на уровне проекта) (<project>/build.gradle.kts или <project>/build.gradle) добавьте плагин Crashlytics Gradle в блок plugins:

    Kotlin

    plugins {
        // Make sure that you have the AGP plugin 8.1+ dependency
        id("com.android.application") version "8.1.4" apply false
        // ...
    
        // Make sure that you have the Google services Gradle plugin 4.4.1+ dependency
        id("com.google.gms.google-services") version "4.5.0" apply false
    
        // Add the dependency for the Crashlytics Gradle plugin
        id("com.google.firebase.crashlytics") version "3.0.8" apply false
    }

    Groovy

    plugins {
        // Make sure that you have the AGP plugin 8.1+ dependency
        id 'com.android.application' version '8.1.4' apply false
        // ...
    
        // Make sure that you have the Google services Gradle plugin 4.4.1+ dependency
        id 'com.google.gms.google-services' version '4.5.0' apply false
    
        // Add the dependency for the Crashlytics Gradle plugin
        id 'com.google.firebase.crashlytics' version '3.0.8' apply false
    }
  2. В файле Gradle модуля (на уровне приложения) (обычно это <project>/<app-module>/build.gradle.kts или <project>/<app-module>/build.gradle) добавьте плагин Gradle Crashlytics:

    Kotlin

    plugins {
      id("com.android.application")
      // ...
    
      // Make sure that you have the Google services Gradle plugin
      id("com.google.gms.google-services")
    
      // Add the Crashlytics Gradle plugin
      id("com.google.firebase.crashlytics")
    }

    Groovy

    plugins {
      id 'com.android.application'
      // ...
    
      // Make sure that you have the Google services Gradle plugin
      id 'com.google.gms.google-services'
    
      // Add the Crashlytics Gradle plugin
      id 'com.google.firebase.crashlytics'
    }

Шаг 3. Принудительно вызовите тестовый сбой, чтобы завершить настройку

Чтобы завершить настройку Crashlytics и увидеть первые данные на панели управления Crashlytics в консоли Firebase, необходимо принудительно вызвать тестовый сбой.

  1. Добавьте в приложение код, который можно использовать для принудительного тестового сбоя.

    Чтобы добавить в приложение кнопку, нажатие на которую вызывает сбой, используйте следующий код в файле MainActivity: с надписью "Test Crash".

    Kotlin

    val crashButton = Button(this)
    crashButton.text = "Test Crash"
    crashButton.setOnClickListener {
       throw RuntimeException("Test Crash") // Force a crash
    }
    
    addContentView(crashButton, ViewGroup.LayoutParams(
           ViewGroup.LayoutParams.MATCH_PARENT,
           ViewGroup.LayoutParams.WRAP_CONTENT))

    Java

    Button crashButton = new Button(this);
    crashButton.setText("Test Crash");
    crashButton.setOnClickListener(new View.OnClickListener() {
       public void onClick(View view) {
           throw new RuntimeException("Test Crash"); // Force a crash
       }
    });
    
    addContentView(crashButton, new ViewGroup.LayoutParams(
           ViewGroup.LayoutParams.MATCH_PARENT,
           ViewGroup.LayoutParams.WRAP_CONTENT));
  2. Соберите и запустите приложение.

  3. Чтобы отправить первый отчет о сбое, принудительно вызовите тестовый сбой:

    1. Откройте приложение на тестовом устройстве или в эмуляторе.

    2. В приложении нажмите кнопку Test Crash, которую вы добавили с помощью кода выше.

    3. После сбоя перезапустите приложение, чтобы оно могло отправить отчет в Firebase.

  4. В консоли Firebase перейдите в раздел DevOps & Engagement (DevOps и взаимодействие) > Crashlytics dashboard (Панель управления) и проверьте, появился ли тестовый отчет о сбое.

    Если вы обновили консоль, но по-прежнему не видите тестовый сбой по прошествии пяти минут, включите ведение журнала отладки, чтобы проверить, отправляет ли приложение отчеты о сбоях.


Готово! Crashlytics теперь отслеживает сбои, некритические ошибки и ошибки ANR в вашем приложении. Чтобы посмотреть и изучить все отчеты и статистику, перейдите на панель управления Crashlytics.

Дальнейшие действия

  • Настройте отчеты о сбоях, добавив согласие на отправку отчетов, журналы, ключи и отслеживание некритических ошибок.

  • Интегрируйте приложение с Google Play, чтобы фильтровать отчеты о сбоях в приложении для Android по типу версии Google Play прямо на панели управления Crashlytics. Это позволяет сосредоточиться на определенных сборках.

  • В Android Studio можно просматривать и фильтровать данные Crashlytics.

    • В окне Отчеты о качестве приложения в Android Studio можно просматривать данные Crashlytics вместе с кодом. Это позволяет отлаживать основные проблемы, не переключаясь между панелью управления Crashlytics и IDE.
    • Подробнее о том, как использовать окно App Quality Insights, рассказывается в документации Android Studio.
    • Нам важно знать ваше мнение. Чтобы оставить отзыв об окне ИКВ, отправьте отчет об ошибке.

  • Экспортируйте данные в BigQuery или Cloud Logging, чтобы выполнять расширенный анализ и использовать дополнительные функции, например запрашивать данные, создавать собственные сводки и настраивать специальные оповещения.