Загрузка mapping-файлов на Android

Чтобы уменьшить размер приложения, код можно сжать и обфусцировать во время релизной сборки. Тогда информация о крэшах будет отправляться в обфусцированном виде. Из таких крэш‑логов сложно извлечь данные для анализа. Чтобы крэш‑логи можно было анализировать, загрузите mapping-файл в AppMetrica.

Для загрузки mapping-файлов в AppMetrica используется специальный плагин. Он автоматически загружает mapping-файлы при сборке приложения.

Примечание. Mapping-файлы необходимо загружать, если код приложения обфусцируется с помощью ProGuard или R8. Если код не обфусцируется, не подключайте плагин.
  1. Подключение плагина
  2. Ручная загрузка

Подключение плагина

Внимание. Для работы плагина необходимо подключить AppMetrica SDK не ниже версии 3.8.0.

Чтобы подключить плагин:

  1. Добавьте в корневой файл build.gradle зависимость:
    buildscript {
        ...
        dependencies {
            ...
            classpath 'com.yandex.android:appmetrica-build-plugin:0.0.1'
        }
     }
    Скопировано
  2. Добавьте в файл app/build.gradle:
    ...
    apply plugin: 'appmetrica-plugin'
    
    appmetrica {
        postApiKey = "Post Api key"
        mappingBuildTypes = ['release']      // Optional.
        offline = false                      // Optional.
    }
    ...
    Скопировано
    postApiKey *
    Post API key. Его можно получить в разделе Настройки в AppMetrica. Он используется для идентификации вашего приложения.

    Если offline = true , то параметр не является обязательным.

    mappingBuildTypes
    Список типов сборок buildType, для которых будет отправляться mapping-файл.

    Значение по умолчанию: ['release'].

    Чтобы отключить загрузку mapping-файлов для определенного типа сборки, удалите из списка нужный buildType.

    offline
    Включает режим offline. Допустимые значения:
    • true — не загружает файл в AppMetrica. Если включен, после сборки выводит путь до архива в лог. Его можно загрузить вручную через веб-интерфейс.
    • false — автоматически загружает mapping-файл.

    Значение по умолчанию: false.

    Обязательный параметр

Ошибки при сборке

Возможные ошибки при сборке:

  • IllegalStateException — включите обфускацию кода с помощью ProGuard или R8 Compiler;
  • HttpResponseException — проверьте подключение к интернету.

Ручная загрузка

Для ручной загрузки нужно подключить и использовать плагин с режимом offline. Это необходимо для связывания mapping-файла со сборкой приложения.

  1. В файле app/build.gradle включите режим offline и запустите сборку.
    appmetrica {
        ...
        offline = true
    }
    Скопировано
    offline
    Включает режим offline. Допустимые значения:
    • true — не загружает mapping-файл в AppMetrica. Если включен, после сборки выводит путь до архива в лог.
    • false — автоматически загружает mapping-файл.

    Значение по умолчанию: false.

  2. В интерфейсе AppMetrica перейдите в настройки приложения из меню слева.
  3. Откройте вкладку Крэши → Android.
  4. Нажмите кнопку Выберите файл и загрузите Zip-архив.