Эта библиотека обеспечивает сбор непроверяемых ошибок во время работы приложения и отправляет их в ваш https://hawk.so личный кабинет. Так же существует возможность отправлять отловленные в try-catch ошибки
Добавить в Ваш класс Application следующий код
public class UseSample extends Application {
HawkExceptionCatcher exceptionCatcher;
public void defineExceptionCather()
{
exceptionCatcher = new HawkExceptionCatcher(this,"0927e8cc-f3f0-4ce4-aa27-916f0774af51");
try {
exceptionCatcher.start();
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void onCreate() {
super.onCreate();
defineExceptionCather();
}
}
Входные параметры
Context - текущий context приложения
Token - уникальный ключ авторизации Примеры вывода:
{
"token":"0927e8cc-f3f0-4ce4-aa27-916f0774af51",
"message":"java.lang.ArithmeticException: divide by zero",
"stack":"java.lang.RuntimeException: Unable to start activity ComponentInfo{com.hawkandroidcatcher.akscorp.hawkandroidcatcher\/com.hawkandroidcatcher.akscorp.hawkandroidcatcher.SampleMainActivity}: java.lang.ArithmeticException: divide by zero",
"brand":"Android",
"device":"generic_x86",
"model":"Android SDK built for x86",
"product":"sdk_google_phone_x86",
"SDK":"22",
"release":"5.1.1",
"incremental":"4212452"
}
message - название самой ошибки
stack - стек ошибки
brand - код поставщика android устройства
device - имя устройства в рамках индустриального дизайна(?)
model - общеизвестное имя android устройства
product - общее наименование продукции
SDK - версия SDK
release - версия андроида
incremental -
Отлавливание UncheckedException
void myTask() {
int d = 10 / 0;
}
...
myTask();
Отловленная ошибка будет соотвествовать формату JSON выше
Отправка отловленных исключений
void myTask() {
try {
int d = 10 / 0;
} catch(ArithmeticException e) {
exceptionCatcher.log(e);
//Данный метод формирует исключение в JSON и отправляет его
}
}
...
myTask();
При этом ошибки, отловленные в try-catch без использования функции log() отправлены не будут
void myTask() {
try {
int d = 10 / 0;
} catch(ArithmeticException e) {
e.printStackTrace();
//ошибка отправлена не будет
}
}
...
myTask();