Crashlytics - Unable to get crash reports when the app crashes while not connected to android studio

瘦欲@ 提交于 2019-12-12 03:57:46

问题


I'm using crashytics from Fabric.io in my app.

Here's how I have initialised it in my MainActivity.java at the very last of onCreate() method:

Fabric.with(this, new Crashlytics());

Here's build.gradle (Project: abc) file:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        mavenCentral()
        maven { url 'https://maven.fabric.io/public'}
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'
        classpath 'com.google.gms:google-services:3.0.0'
        classpath 'io.fabric.tools:gradle:1.+'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
        maven { url "https://dl.bintray.com/hani-momanii/maven"}
    }
}

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

Here's build.gradle (Module: app) file:

apply plugin: 'com.android.application'

apply plugin: 'io.fabric'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.0"

    defaultConfig {
        applicationId "com.xxx.abc"
        minSdkVersion 16
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
        vectorDrawables.useSupportLibrary = true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    repositories {
        mavenCentral()
        maven {
            url "https://jitpack.io"
        }
        maven { url 'https://maven.fabric.io/public' }
    }
    dexOptions {
        javaMaxHeapSize "4g"
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile('com.crashlytics.sdk.android:crashlytics:2.6.6@aar') {
        transitive = true;
    }
}

apply plugin: 'com.google.gms.google-services'

and

<meta-data android:name="io.fabric.ApiKey" android:value="xxxxxxxxxxxxxxxxxxxxxxxxxxx" /> is defined in the AndroidManifest.xml between <application> tags.

The problem is that I'm unable to get the crash reports whenever the app crashes while not connected to Android Studio though I get the reports when the app crashes while connected to it.

Why is this happening and how can I get the crash reports each and every time the app crashes whether connected to Android Studio or not?


回答1:


Remove from Activity and put inside Application class

public class MyApplication extends Application {

@Override
public void onCreate() {
    super.onCreate();
    Fabric.with(this, new Crashlytics());

}

Don't forget to add name in Application tag of manifest.xml

<application
    ...
    android:name=".MyApplication"
    ...
</application>


来源:https://stackoverflow.com/questions/42375212/crashlytics-unable-to-get-crash-reports-when-the-app-crashes-while-not-connect

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!