#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:
Я также столкнулся с той же проблемой, и для ее решения я выполнил следующие шаги.
-
После добавления нового Crashlytics SDK. Загрузите новые сервисы Google.файл json из консоли Firebase (вы можете получить его из настроек проекта в консоли Firebase)
-
Принудительный сбой в первый раз.
throw new RuntimeException("Test Crash");
-
Запустите свое приложение.Произойдет сбой, потому что мы были добавлены выше исключения во время выполнения.
Теперь проверьте свою консоль Firebase. Вы можете увидеть отчет о сбое
См . ЗДЕСЬ
Комментарии:
1. Впервые сбой моего приложения не отображается в консоли. После этого сбоя другие мои сбои приложения отображаются в консоли. Спасибо. Примечание: нам также необходимо включить настройки консоли.
2. @Gowrisankari Ravindran Что вы подразумеваете под «включить настройки консоли»? У меня такая же проблема, и ее невозможно решить с помощью этого.
3. @MohammadRezaLohrasbi Просто убедитесь, что в вашем приложении (как для отладки, так и для выпуска) включены настройки Crashlytics в firebase. Никаких других специальных разрешений. Консоль Firebase -> Выберите проект -> Качество (меню слева) -> Crashlytics -> Включить
Ответ №2:
В моем случае я совершил глупую ошибку, выполнив:
FirebaseCrashlytics.getInstance().setUserId(uid);
где uid
все еще было null.