Android
Инструменты отчетов о сбоях
Поиск…
замечания
Самая полная полная вики доступна здесь, в github .
Ткань - Crashlytics
Fabric - это модульная мобильная платформа, которая предоставляет полезные наборы, которые вы можете комбинировать для создания своего приложения. Crashlytics - это инструмент отчетов о сбоях и проблемах, предоставляемый Fabric, который позволяет вам отслеживать и контролировать ваши приложения в деталях.
Как настроить Ткань-Crashlytics
Шаг 1. Измените файл build.gradle
:
Добавьте плагин-репо и плагин gradle:
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
// The Fabric Gradle plugin uses an open ended version to react
// quickly to Android tooling updates
classpath 'io.fabric.tools:gradle:1.+'
}
}
Примените плагин:
apply plugin: 'com.android.application'
//Put Fabric plugin after Android plugin
apply plugin: 'io.fabric'
Добавьте репозиторий Fabric:
repositories {
maven { url 'https://maven.fabric.io/public' }
}
Добавьте комплект Crashlyrics:
dependencies {
compile('com.crashlytics.sdk.android:crashlytics:2.6.6@aar') {
transitive = true;
}
}
Шаг 2. Добавьте свой ключ API и разрешение INTERNET в AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application
... >
<meta-data
android:name="io.fabric.ApiKey"
android:value="25eeca3bb31cd41577e097cabd1ab9eee9da151d"
/>
</application>
<uses-permission android:name="android.permission.INTERNET" />
</manifest>
Шаг 3. Инициируйте Kit во время выполнения кода, например:
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//Init the KIT
Fabric.with(this, new Crashlytics());
setContentView(R.layout.activity_main);
}
}
Шаг 4: Создайте проект. Чтобы создать и запустить:
Использование плагина IDE Fabric
Наборы можно установить с помощью плагина Fabric IDE для Android Studio или IntelliJ по этой ссылке.
После установки плагина перезапустите Android Studio и войдите в свою учетную запись с помощью Android Studio .
(короткий ключ> CTRL + L
)
Затем он покажет проекты, которые у вас есть / проект, который вы открыли, выберите тот, который вам нужен, и нажмите «Далее» далее.
Выберите набор, который вы хотите добавить, для его примера это Crashlytics :
Затем нажмите « Install
. Вам не нужно добавлять его вручную на этот раз, как над плагином gradle , вместо этого он будет создан для вас.
Готово!
Отчет о сбоях с ACRA
Шаг 1: Добавьте зависимость последнего ACRA AAR к вашему градиенту приложения (build.gradle).
Шаг 2. В вашем классе приложения (класс, который расширяет приложение, если он не создается). Добавьте аннотацию @ReportsCrashes
и переопределите метод attachBaseContext()
.
Шаг 3. Инициализация класса ACRA в вашем классе приложения.
@ReportsCrashes(
formUri = "Your choice of backend",
reportType = REPORT_TYPES(JSON/FORM),
httpMethod = HTTP_METHOD(POST/PUT),
formUriBasicAuthLogin = "AUTH_USERNAME",
formUriBasicAuthPassword = "AUTH_PASSWORD,
customReportContent = {
ReportField.USER_APP_START_DATE,
ReportField.USER_CRASH_DATE,
ReportField.APP_VERSION_CODE,
ReportField.APP_VERSION_NAME,
ReportField.ANDROID_VERSION,
ReportField.DEVICE_ID,
ReportField.BUILD,
ReportField.BRAND,
ReportField.DEVICE_FEATURES,
ReportField.PACKAGE_NAME,
ReportField.REPORT_ID,
ReportField.STACK_TRACE,
},
mode = NOTIFICATION_TYPE(TOAST,DIALOG,NOTIFICATION)
resToastText = R.string.crash_text_toast)
public class MyApplication extends Application {
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
// Initialization of ACRA
ACRA.init(this);
}
}
Если AUTH_USERNAME и AUTH_PASSWORD являются учетными данными ваших желаемых бэкэндов .
Шаг 4: Определите класс приложения в AndroidManifest.xml
<application
android:name=".MyApplication">
<service></service>
<activity></activity>
<receiver></receiver>
</application>
Шаг 5: Убедитесь, что у вас есть разрешение на internet
к internet
для получения отчета из разбитого приложения
<uses-permission android:name="android.permission.INTERNET"/>
Если вы хотите отправить бесшумный отчет в бэкэнд, просто используйте метод ниже для его достижения.
ACRA.getErrorReporter().handleSilentException(e);
Принудительное испытание с повреждением
Добавьте кнопку, которую вы можете нажать, чтобы вызвать сбой. Вставьте этот код в свой макет, где вы хотите, чтобы кнопка появилась.
<Button
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Force Crash!"
android:onClick="forceCrash"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
Выбросить исключение RuntimeException
public void forceCrash(View view) {
throw new RuntimeException("This is a crash");
}
Запустите приложение и нажмите новую кнопку, чтобы вызвать сбой. Через минуту или две вы сможете увидеть крах на панели управления Crashlytics, а также получите почту.
Сбой при сбое с использованием Шерлока
Шерлок фиксирует все ваши аварии и сообщает о них как уведомление. Когда вы нажимаете на уведомление, он открывает активность со всеми деталями сбоя вместе с информацией об устройстве и приложении
Как интегрировать Шерлок с вашим приложением?
Вам просто нужно добавить Шерлока в зависимость от градиента в вашем проекте.
dependencies {
compile('com.github.ajitsing:sherlock:1.0.1@aar') {
transitive = true
}
}
После синхронизации вашей студии Android инициализируйте Шерлок в своем классе Application.
package com.singhajit.login;
import android.app.Application;
import com.singhajit.sherlock.core.Sherlock;
public class SampleApp extends Application {
@Override
public void onCreate() {
super.onCreate();
Sherlock.init(this);
}
}
Это все, что вам нужно. Кроме того, Шерлок делает гораздо больше, чем просто сообщение об аварии. Чтобы проверить все его функции, взгляните на эту статью .
демонстрация