Поиск…


замечания

Самая полная полная вики доступна здесь, в 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);
  }
}

Это все, что вам нужно. Кроме того, Шерлок делает гораздо больше, чем просто сообщение об аварии. Чтобы проверить все его функции, взгляните на эту статью .

демонстрация

введите описание изображения здесь



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow