Отчеты Craslytic об отладке Fabric: зарегистрируйтесь, Id сборки отсутствует, примените плагин: io.fabric - PullRequest
0 голосов
/ 15 февраля 2019

Мы программируем приложение для Android и пытаемся внедрить Crashlytics в наше приложение.

У нас проблема с разными типами. Используемая версия: версия Android-студии: 3.3

Версия Gradle: classpath 'com.android.tools.build:gradle:3.3.1'

Плагин: Fabric для Android studio v4.3.0

Реализация: реализация ('com.crashlytics.sdk.android:crashlytics:2.9.9') {transitive = true} реализация ('io.fabric.sdk.android:fabric:1.4.0@aar ') {transitive = true}

gradle-wrapper.properties: distributionUrl = https://services.gradle.org/distributions/gradle-5.2.1-all.zip

Первая проблема:

Когда мы внедряем Crashlytics, вы знаете, что у разработчика есть 3 шага.Мы не можем пропустить 2,3.Шаг, потому что мы не скомпилировали наше приложение.Мы получаем две основные ошибки:

Ошибка 1:

Это приложение использует Crashlytics.Пожалуйста, зарегистрируйтесь для доступа на https://fabric.io/sign_up,

Ошибка 2:

E/CrashlyticsCore: The Crashlytics build ID is missing.This occurs when 
Crashlytics tooling is absent from your app's build configuration.
Please review Crashlytics onboarding instructions and ensure you have a valid Crashlytics account.

Поэтому мы отключили мод отладки, чтобы завершить реализацию Crashlytic.

Crashlytics crashlyticsKit = new Crashlytics.Builder()
        .core(new CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build())
        .build();

Fabric.with(this, crashlyticsKit);  // Tod from Fabric suggested in stackoverflow

И реализация завершена.

Но мы не хотим этого делать.Потому что, когда мы делаем сбой, он не сообщает Crashlytics или Firebase.Мы хотим получить также сбои модов отладки.

Когда мы удаляем -> ....disabled(BuildConfig.DEBUG) - он снова показывает: Ошибка 1, Ошибка 2.

Вторая проблема:

в градусах;применить плагин: «io.fabric» комментируется, когда мы раскомментируем, мы получаем

Ошибка 3:

WARNING: API 'variant.getExternalNativeBuildTasks()' is obsolete and has been replaced with 'variant.getExternalNativeBuildProviders()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variant.getExternalNativeBuildTasks(), use -Pandroid.debug.obsoleteApi=true on the command line to display a stack trace.
Affected Modules: app

Когда мы искали его, эта ошибка связана с новымандроид студия градл.Поэтому нам нужно прокомментировать «применить плагин: fabric.io».Нет хорошего решения по этому поводу.

Для запуска приложения мы не можем удалить:

new CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build(): (из-за ошибки1 ошибка2)

Поэтому мы пытаемся включить отчет разными способами:

Что мы уже добавили?

1.Включить в Gradle:

buildTypes {
    debug {
        manifestPlaceholders = [crashlyticsEnabled: true]
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        manifestPlaceholders = [crashlyticsEnabled: false]

    }

2.Включить в манифесте

<meta-data
    android:name="firebase_crashlytics_collection_enabled"
    android:value="true" />

3.Включить в ADB

  adb shell setprop log.tag.Fabric DEBUG
  adb shell setprop log.tag.CrashlyticsCore DEBUG

Но все же Crashlytics или Firebase не получают никаких отчетов об ошибках отладки?Мы ожидаем ваших решений.

Ответы [ 5 ]

0 голосов
/ 15 августа 2019

просто установите apply plugin: 'io.fabric' в вашем build.gradle (приложение)

0 голосов
/ 23 июля 2019

В моем случае я просто обновил implementation 'com.google.firebase:firebase-core:16.0.9' до implementation 'com.google.firebase:firebase-core:17.0.1' и добавил apply plugin: 'io.fabric' к своему уровню приложения.Это решило Ошибка 2 для меня.

0 голосов
/ 29 мая 2019

У меня была та же проблема в моем приложении (Android Studio 3.4.1)

Я исправил корыто, подключающееся к плагину Fabric.Создание учетной записи и привязка к ней моего приложения.

0 голосов
/ 23 июня 2019

Это также происходит, если вы установили ext.enableCrashlytics = false для варианта сборки, но все еще пытаетесь вызвать Fabric.with(context, Crashlytics()) в коде инициализации вашего приложения.ext.enableCrashlytics = false отключает плагин сборки (оптимизацию, которую я сделал, чтобы ускорить сборку отладки), но тогда, конечно, идентификатор сборки будет отсутствовать.

0 голосов
/ 18 февраля 2019

Мне удалось исправить это без добавления android.debug.obsoleteApi=true в gradle.properties.

Я в основном подключил 3 варианта к различным Firebase проектам, используя правильную конфигурацию вариантов и предоставленный файл google-services.json.

Чего не хватает в вашем файле Gradle по сравнению с моим:

dependencies {
    classpath 'com.android.tools.build:gradle:3.2.1'

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
    classpath "com.google.gms:google-services:$google_services_version" // google-services plugin

    classpath "io.fabric.tools:gradle:$fabric_tools_version"

}


apply plugin: "io.fabric"

И наконец: implementation "com.google.firebase:firebase-crash:16.2.1"

Я знаю, что Fabric завершит работу в этом году, но, запустив приложения таким образом, они без проблем подключились к консоли Firebase.

Относительно конфигурации ароматаЯ скачал три разных json файла (у меня есть 3 варианта) и добавил их в корневой каталог каждого варианта.Например:

flavor1:
assets
java
res
AndroidManifest
google-services.json (for flavor1)

flavor2:
assets
java
res
AndroidManifest
google-services.json (for flavor2)

И все.Надеюсь, это кому-нибудь поможет.

...