Отчет о сбое Firebase не отображается в Android после обновления Firebase crashlytics

#android #firebase #crashlytics

#Android #firebase #crashlytics

Вопрос:

Я не могу просмотреть отчет о сбое после обновления зависимости Firebase crashlytics в Android. Даже моя консоль Firebase показывает: «У вас установлен последний SDK». пожалуйста, обратитесь к деталям моей сборки.

build.gradle

 buildscript {
    repositories {
        google()
        jcenter()
        maven {
            url 'https://maven.fabric.io/public'
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:4.0.2'
        classpath 'com.google.gms:google-services:4.3.4'
        classpath 'com.google.firebase:firebase-crashlytics-gradle:2.3.0'
    }
}

allprojects {
    repositories {
        google()
        mavenLocal()
        mavenCentral()
        maven {                                 
            url 'https://maven.google.com/'
            name 'Google'
        }
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
  

build.gradle(: app)

 apply plugin: 'com.android.application'
apply plugin: 'com.google.firebase.crashlytics'

android {
    lintOptions {
        checkReleaseBuilds false
        abortOnError false
    }

    compileSdkVersion 28

    defaultConfig {
        applicationId "com.XXX.XXX"
        minSdkVersion 16
        targetSdkVersion 28
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        renderscriptSupportModeEnabled true
        multiDexEnabled true
    }

    buildTypes {
        release {
            // signingConfig signingConfigs.release
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            // resValue "string", "app_name", "$app_name_release"
        }

        debug {
            applicationIdSuffix ".debug"
            versionNameSuffix "-debug"
            buildConfigField "String", "TYPE", '"DEBUG"'
        }
    }
    flavorDimensions "mode", "key"

    productFlavors {
        lite {
            dimension "mode"
            applicationId "com.xxx.xxx"
            versionCode 23
            versionName "4.4.3"
            manifestPlaceholders = [app_name: "Pro-Inspector"]
        }

        pi {
            dimension "mode"
            applicationId "com.xxx.xxx"
            versionCode 53
            versionName "4.4.3"
            manifestPlaceholders = [app_name: "Pro-Inspector"]
        }

        local {
            dimension "key"
        }

        sandbox {
            dimension "key"
        }

        demo {
            dimension "key"
        }

        dev {
            dimension "key"
        }

        production {
            dimension "key"
        }

        live {
            dimension "key"
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    variantFilter { variant ->
        def modeName = variant.flavors*.name
        def keyName = variant.flavors*.name

        // To check for a certain build type, use variant.buildType.name == "<buildType>"
        // Gradle ignores any variants that satisfy the conditions below

        if (modeName.contains("lnt") amp;amp; keyName.contains("demo")) {
            setIgnore(true)
        }
        if (modeName.contains("pi") amp;amp; keyName.contains("dev")) {
            setIgnore(true)
        }
        if (modeName.contains("pi") amp;amp; keyName.contains("production")) {
            setIgnore(true)
        }
        if (modeName.contains("lnt") amp;amp; keyName.contains("live")) {
            setIgnore(true)
        }
    }
}

dependencies {
    implementation 'com.google.firebase:firebase-crashlytics:17.2.2'
    implementation 'com.google.firebase:firebase-analytics:18.0.0'
    implementation 'com.google.firebase:firebase-core:18.0.0'
    implementation 'com.google.firebase:firebase-messaging:21.0.0'
    implementation 'com.google.firebase:firebase-auth:20.0.0'
    implementation 'com.google.firebase:firebase-messaging-directboot:21.0.0'
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    androidTestImplementation('androidx.test.espresso:espresso-core:3.1.0', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    // RETROFIT
    implementation 'com.squareup.retrofit2:retrofit:2.4.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.4.0'
    // GLIDE
    implementation 'com.github.bumptech.glide:glide:4.3.1'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.3.1'
    // VIEWMODEL
    implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0'
    implementation 'androidx.lifecycle:lifecycle-viewmodel:2.0.0'
    api 'com.theartofdev.edmodo:android-image-cropper:2.8. '

    implementation 'org.greenrobot:eventbus:3.1.1'
    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
    implementation 'com.google.android.material:material:1.1.0-alpha02'
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    implementation 'androidx.recyclerview:recyclerview:1.1.0'
    implementation 'androidx.cardview:cardview:1.0.0'
    implementation 'com.android.volley:volley:1.1.0'
    implementation 'com.daasuu:EasingInterpolator:1.0.0'
    implementation 'com.google.android.gms:play-services-vision:20.1.2'
    implementation 'com.google.android.gms:play-services-location:17.1.0'
    implementation 'com.google.android.gms:play-services-maps:17.0.0'
    implementation 'com.google.android.gms:play-services-identity:17.0.0'
    implementation 'com.google.android.gms:play-services-location:17.1.0'
    implementation 'com.google.android.gms:play-services-places:17.0.0'
    implementation 'org.adw.library:discrete-seekbar:1.0.1'
    implementation 'fr.avianey.com.viewpagerindicator:library:2.4.1@aar'
    implementation 'com.nineoldandroids:library:2.4.0'
    implementation 'androidx.multidex:multidex:2.0.1'
    androidTestImplementation 'androidx.multidex:multidex:2.0.1'
    androidTestImplementation 'androidx.multidex:multidex-instrumentation:2.0.0'
    implementation 'commons-io:commons-io:2.0.1'
    testImplementation 'junit:junit:4.12'
    implementation project(':pdfviewer')

    //retrofit dependencies
    implementation 'com.squareup.retrofit2:retrofit:2.4.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.4.0'
    implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
    implementation 'androidx.lifecycle:lifecycle-viewmodel:2.2.0'
 
}
apply plugin: 'com.google.gms.google-services'
  

Кто-нибудь уже сталкивался с этой проблемой? Может кто-нибудь, пожалуйста, помочь мне просмотреть сбои в консоли

Ответ №1:

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

  1. После добавления нового Crashlytics SDK. Загрузите новые сервисы Google.файл json из консоли Firebase (вы можете получить его из настроек проекта в консоли Firebase)

  2. Принудительный сбой в первый раз.

      throw new RuntimeException("Test Crash");
      
  3. Запустите свое приложение.Произойдет сбой, потому что мы были добавлены выше исключения во время выполнения.

Теперь проверьте свою консоль Firebase. Вы можете увидеть отчет о сбое

См . ЗДЕСЬ

Комментарии:

1. Впервые сбой моего приложения не отображается в консоли. После этого сбоя другие мои сбои приложения отображаются в консоли. Спасибо. Примечание: нам также необходимо включить настройки консоли.

2. @Gowrisankari Ravindran Что вы подразумеваете под «включить настройки консоли»? У меня такая же проблема, и ее невозможно решить с помощью этого.

3. @MohammadRezaLohrasbi Просто убедитесь, что в вашем приложении (как для отладки, так и для выпуска) включены настройки Crashlytics в firebase. Никаких других специальных разрешений. Консоль Firebase -> Выберите проект -> Качество (меню слева) -> Crashlytics -> Включить

Ответ №2:

В моем случае я совершил глупую ошибку, выполнив:

 FirebaseCrashlytics.getInstance().setUserId(uid);
  

где uid все еще было null.