Jeśli Twoja aplikacja jest pobierana przez inne osoby i ulega awarii na urządzeniach zdalnych, możesz zajrzeć do biblioteki raportowania błędów Androida (o której mowa w tym poście SO ). Jeśli jest tylko na własnym urządzeniu lokalnym, możesz użyć. LogCat.
Nawet jeśli urządzenie nie było podłączone do komputera hosta, gdy wystąpiła awaria, podłączenie urządzenia i wydanie adb logcat
polecenia spowoduje pobranie całej historii logcat (przynajmniej w zakresie, w jakim jest buforowany, co zwykle jest groszem danych dziennika, po prostu nie jest nieskończone). Czy któraś z tych opcji odpowiada na Twoje pytanie? Jeśli nie, czy możesz spróbować nieco dokładniej wyjaśnić, czego szukasz?
adb logcat
z dowolnego katalogu, w którym znajduje się adb. Alternatywnie możesz użyć narzędzi SDK zawartych we wtyczce Eclipse$SDK_DIR/platform-tools/
. Aby pokazać błąd:.\adb.exe logcat -v time *:E
Aby to zrobić, należy zaimplementować
Thread.UncaughtExceptionHandler
interfejs i przekazać goThread.setDefaultUncaughtExceptionHandler()
na początku swojej aktywnościonCreate()
. Oto klasa implementacjiTopExceptionHandler
.Uwaga Zezwalamy na obsługę defaultUEH platformy Android.
W górnej części swojej aktywności zarejestruj wystąpienie powyższej klasy, takie jak:
Ten program obsługi zapisuje ślad w pliku. Przy
ReaderScope
następnym uruchomieniu wykrywa plik i pyta użytkownika, czy chce wysłać go e-mailem do programisty.Aby wysłać ślad stosu pocztą e-mail, wykonaj następujący kod, aby spakować go w wiadomości e-mail.
Możesz też użyć systemu raportowania błędów ACRA, po prostu dołącz plik ACRA.jar do bibliotek projektu i użyj poniższego fragmentu kodu przed deklaracją klasy aktywności programu uruchamiającego
lub możesz spróbować z konsoli: -
źródło
To pochodzi z http://www.herongyang.com/Android/Debug-adb-logcat-Command-Debugging.html
Możesz użyć adb:
źródło
Możesz to wypróbować z poziomu konsoli:
Więcej informacji na temat tej opcji:
źródło
Jeśli używasz Eclipse, upewnij się, że używasz debugowania i nie uruchamiasz. Upewnij się, że jesteś w perspektywie debugowania (w prawym górnym rogu). Aby dziennik został wydrukowany, może być konieczne kilkakrotne naciśnięcie przycisku „Wznów” (F8). Dziennik awarii będzie znajdował się w oknie Logcat na dole - kliknij dwukrotnie, aby wyświetlić pełny ekran i przewiń w dół. Zobaczysz czerwony tekst błędów, ślad awarii będzie podobny do
Ważnymi częściami tego są
mówią nam, że był to wyjątek poza granicami tablicy w linii 13 pliku main.java w metodzie onCrate.
źródło
Możesz użyć Apphance. Jest to usługa wieloplatformowa (obecnie głównie Android, iOS z innymi platformami w drodze), która pozwala na zdalne debugowanie dowolnego urządzenia mobilnego (teraz Android, iOS - inne w fazie rozwoju). To znacznie więcej niż tylko crashlog, w rzeczywistości to znacznie więcej: logowanie, raportowanie problemów przez testerów, crashlogy. Integracja zajmuje około 5 minut. Obecnie możesz poprosić o dostęp do zamkniętej bety.
Zastrzeżenie: Jestem dyrektorem technicznym Polidea, firmy stojącej za Apphance i współtwórcą jej.
Aktualizacja: Apphance nie jest już zamkniętą wersją beta! Aktualizacja 2: Apphance jest dostępna w ramach oferty http://applause.com
źródło
libs
katalogu, zgodnie z wyjaśnieniem tej odpowiedzi. To zatwierdzenie github pokazuje zmiany, które musiałem wprowadzić w mojej aplikacji WorldMap, aby korzystać z apphance.Oto inne rozwiązanie dla Crash Log.
Android Market zawiera narzędzie o nazwie „Crash Collector”
sprawdź poniższy link, aby uzyskać więcej informacji
http://kpbird.blogspot.com/2011/08/android-application-crash-logs.html
źródło
Możesz użyć ACRA z tego . Włączając tę bibliotekę do swoich projektów i konfigurując ją, możesz otrzymywać (na swój e-mail lub gdoc) ich raporty o awariach. Przepraszam za mój zły angielski.
źródło
Jeśli szukasz podstawowego narzędzia do raportowania awarii, wypróbuj crashlytics .
Jeśli potrzebujesz bardziej zaawansowanego narzędzia do raportowania, Checkout Gryphonet . Rejestruje wszystkie awarie, które wystąpiły, wraz z dokładną linią kodu, która spowodowała awarię, wraz z automatycznymi znacznikami, które pokazują kroki podjęte przez użytkownika przed awarią i nie tylko.
Powodzenia!
źródło
Użyj narzędzia raportowania awarii acra dla aplikacji na Androida .. Acra lib
źródło
Stworzyłem tę bibliotekę, aby rozwiązać wszystkie Twoje problemy. Crash Reporter to przydatne narzędzie do przechwytywania wszystkich awarii i lokalnego logowania do urządzenia
Po prostu dodaj tę zależność i gotowe.
Znajdź lokalnie wszystkie awarie w urządzeniu i napraw je w dogodnym dla siebie czasie. Awarie są zapisywane przy użyciu łatwego do śledzenia formatu daty i godziny. Dodatkowo zapewnia również API do przechwytywania zarejestrowanych wyjątków przy użyciu poniższej metody.
źródło
Oto rozwiązanie, które może pomóc w zrzuceniu wszystkich dzienników do pliku tekstowego
źródło
Możesz także użyć biblioteki crashcatcher
źródło
Jeśli szukasz tylko dziennika awarii, gdy telefon jest podłączony do komputera, użyj widoku DDMS w Eclipse, a raport jest tam w LogCat w DDMS, gdy aplikacja ulega awarii podczas debugowania.
źródło
1) Podłącz telefon przez USB (z włączonymi opcjami debugowania programisty)
2) Otwórz terminal i przejdź do zestawu SDK systemu Android (dla komputerów Mac):
cd ~/Library/Android/sdk/platform-tools
3) Logcat z tego katalogu (w twoim terminalu), aby wygenerować stały przepływ logów (dla Mac):
./adb logcat
4) Otwórz aplikację, która ulega awarii, aby wygenerować dzienniki awarii
5) Ctrl + C, aby zatrzymać terminal i poszukać dzienników powiązanych z awarią aplikacji. Może brzmieć mniej więcej tak:
AndroidRuntime: FATAL EXCEPTION: main
źródło
Bazując na tym POST , użyj tej klasy jako zamiennika „TopExceptionHandler”
}
.....
.....
.....
źródło
Wypróbuj aplikację dziennika Carsh z Androida.
użyj linku, aby pobrać aplikację.
źródło