본문 바로가기

안드로이드/팁

[Android] Firebase Crashlytics 추가하기

반응형

FirebaseCrashlyticsFirebase에서 제공하는 강력한 기능중 하나로 사용자들이 앱을 사용하다가 발생하는 에러들을 수집하는 툴로 앱에 없으면 안되는 라이브러리중 하나 입니다.

firebase console에서 앱을 추가하고 난 뒤 과정(앱 설정)을 설명하며 추가 하는 방법은 콘솔에서 제공하는 가이드를 따르면 쉽게 할 수 있습니다.  앱 설정 가이드도 google에서 가이드 문서를 제공하지만 내용 설명이 부족해 가이드 문서대로 진행했을 경우 앱이 실행되지 않는 이슈가 있어 별도 포스팅을 작성했습니다.

 

신규 앱에 추가하는 경우가 아닌 Fabric에서 업데이트 하는 경우도 제 포스팅을 참고해주세요.

>> Project Level build.gradle 

buildscript {

    repositories {
        google()
        jcenter()

    }
    dependencies {
        //google firebase
        classpath 'com.google.gms:google-services:4.3.3'
        classpath 'com.google.firebase:firebase-crashlytics-gradle:2.3.0'
		....
    }
}

allprojects {
    repositories {
        google()
        ...

    }
}

>> App Level build.gradle

// 최상단 
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.crashlytics'

buildTypes {

    debug{
            ....
    }

    release {
	        .....
            firebaseCrashlytics {
                nativeSymbolUploadEnabled true
                strippedNativeLibsDir "$buildDir/ndklibs/obj"
                unstrippedNativeLibsDir "$buildDir/ndklibs/libs"
            }

    }
}
    
    
dependencies {
		
    // firebase
    implementation platform('com.google.firebase:firebase-bom:26.4.0')
    implementation 'com.google.firebase:firebase-crashlytics-ndk:17.2.1'// crash
    implementation 'com.google.firebase:firebase-crashlytics'
    implementation 'com.google.firebase:firebase-analytics'

}

>> Application

application에 crashlytics 수집을 허용한다는 코드를 작성해야 합니다. 디버그 모드에서는 수집하지 않도록 buildConfig 변수를 이용하세요! true일 경우 기록됩니다.

FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true)

>> 테스트 코드 작성

FirebaseConsole -> Crashlytics 탭으로 이동하면 '특정 버전 이상으로 빌드 후 테스트 에러를 발생시켜라'란 문구를 확인할 수 있습니다. Gradle설정을 모두 마쳤으면 앱이 정상적으로 실행하는지 확인 후 에러를 발생시키는 코드를 삽입하고 정상적으로 에러가 발생했다면 일정 시간 후, 다시 Crashlytics 탭으로 이동했을때 발생시킨 에러에대한 로그가 남겨져 있을 것이다.

throw RuntimeException("Test Crash");

에러 로그

이후에 출시한 버전을 사용하다 발생한 모든 에러들은 Crashlytics탭에서 확인 가능하다. 

 

 

반응형