2017-05-07 7 views
0
내 활동 중 하나에서 doc

Crashlytics.getInstance는() 로깅 사용자 정의 예외는 null를 돌려줍니다

에서 권장 내가 잡은 예외를 기록하려고

:

@Override 
public void failure(RetrofitError error) {            
    Crashlytics.getInstance().core.log(error.getMessage()); 
    Crashlytics.getInstance().core.logException(error.getCause()); 
} 

그러나 이것은 다시 치명적인 결과 패브릭 대시 보드에서 예외 :

치명적인 예외 : java.lang.NullPointerException이 '필드에서 com.crashlytics.android.core.CrashlyticsCo을 읽을 수 시도

CrashlyticsCore core = new CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build(); 
Fabric.with(this, new Answers(), new Beta(), core, new TwitterCore(authConfig), new Digits.Builder().build()); 

은 내가 정의를 필요로하는 각 활동에 패브릭을 초기화해야합니까 : 나는 AndroidApplication에 패브릭을 초기화하고

null 객체 참조에 com.crashlytics.android.Crashlytics.core '재 벌채 반출?

+0

마이크. onCreate의 초기화 패브릭은 필요한 모든 작업을 수행해야합니다. 패브릭을 완전히 초기화하기 전에 이러한 로그를 개조 오류에 로깅하고 있습니까? –

+0

@MikeBonnell 애플리케이션이 초기화 된 후에는 아무 일도 일어나지 않습니다. – emaillenin

답변

1

내 응용 프로그램에서 비슷한 설정이 있습니다. 그래서 같은 Crashlytics를 초기화 :

난 그냥 Crashlytics 그래서 같은 방법을 로그 사용하고 그러나
Crashlytics crashlyticsKit = new Crashlytics.Builder() 
      .core(new CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build()) 
      .build(); 

    Fabric.with(this, crashlyticsKit); 

: 여기 직물에서

if (!BuildConfig.DEBUG) { 
    Crashlytics.log(message); 
} 
+0

내 오류는 프로덕션의 것이므로 '! BuildConfig.DEBUG' 확인으로 문제가 해결되지 않습니다. 'Crashlytics.getInstance()'는 여전히 null을 반환합니다. – emaillenin

+0

Application 하위 클래스가 왜 그것이 null이 될지에 대한 매니페스트 파일에 등록되어 있는지 확실하지 않습니다. Crashlytics.log (메시지) 메소드를 사용하면 여전히 충돌이 발생합니까? – joelreeves