2016-07-22 60 views
6

Próbuję zintegrować Crashlytics z moją aplikacją i działa, ale numer linii przekazanej wydaje się niepoprawny. Jest to stos Dostaję do mojego wyjątkiem testu:Android Crashlytics wysyła niepoprawny numer wiersza

Fatal Exception: java.lang.RuntimeException: This is a test crash 
    at com.myapp.testapp.activity.MainActivity.animateReveal(MainActivity.java:42453) 
    at com.myapp.testapp.activity.MainActivity.onClick(MainActivity.java:1356) 
    at android.view.View.performClick(View.java:5204) 
    at android.view.View$PerformClick.run(View.java:21153) 
    at android.os.Handler.handleCallback(Handler.java:739) 
    at android.os.Handler.dispatchMessage(Handler.java:95) 
    at android.os.Looper.loop(Looper.java:148) 
    at android.app.ActivityThread.main(ActivityThread.java:5417) 
    at java.lang.reflect.Method.invoke(Method.java) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 

Więc moja awaria jest na linii numer 1453, ale z jakiegoś powodu to pokazuje się jako 42453? Co ciekawe, następny numer linii w stosie jest poprawna ...

Proguard:

# Crashlitics 

-keepattributes SourceFile,LineNumberTable 
-keep public class * extends java.lang.Exception 
-keepattributes *Annotation* 

Odpowiedz

0

Próbowałeś tego?

do tkanin prawidłowo de-zaciemniać swoje raporty o awariach, trzeba usunąć tę linię z pliku konfiguracyjnego, albo nie będzie mógł automatycznie przesłać plik mapowania:

- printmapping mapping.txt

i

-Trzymaj com.crashlytics klasy ** {. *; } com.crashlytics

-dontwarn. **

+0

Moja konfiguracja jest zgodna z tym, a problem nadal występuje – Urboss

+0

po pełnym pliku proguardowym –

+0

Obawiam się, że nie mogę tego zrobić, ale jest to standardowy standard wokół Fabric (po ich dokumentach). Jedyną rzeczą jest to, że bazuje na pakietach Android SDK z optymalizacją i nie jestem pewien, czy problem nie zaczął się pojawiać, ponieważ przełączyliśmy się na zoptymalizowany SDK jako domyślny dla naszej konfiguracji. – Urboss

0

Prawdopodobnie dlatego, że używasz zwalniającą build który usunie komentarze/spacji.

Jeśli używasz debugowania build to może pokazać odpowiednie linie, ponieważ nie będzie optymalizować kod źródłowy ...

Wciąż zgaduję istnieje inna przyczyna numery linii były niepoprawne, ponieważ Fabric informował mnie, że zdarzenie miało miejsce w linii 400, mimo że funkcja ta została wywołana w wierszu 300. Mam na myśli, że jeśli komentarze i białe przestrzenie mają zostać usunięte, Fabric powinien był powiedzieć linii: mniej niż 300, nie więcej!