Szukaj…


Uwagi

Najlepsza kompletna wiki jest dostępna tutaj w github .

Materiał - Crashlytics

Fabric to modułowa platforma mobilna, która zapewnia przydatne zestawy, które można łączyć w celu zbudowania aplikacji. Crashlytics to narzędzie do raportowania awarii i problemów dostarczane przez Fabric, które pozwala szczegółowo śledzić i monitorować aplikacje.


Jak skonfigurować Crashlytics tkaniny

Krok 1: Zmień swój build.gradle :

Dodaj repozytorium wtyczek i wtyczkę 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.+'
  }
}

Zastosuj wtyczkę:

apply plugin: 'com.android.application'
//Put Fabric plugin after Android plugin
apply plugin: 'io.fabric'

Dodaj repozytorium Fabric:

repositories {
  maven { url 'https://maven.fabric.io/public' }
}

Dodaj zestaw Crashlyrics:

dependencies {
  
  compile('com.crashlytics.sdk.android:crashlytics:2.6.6@aar') {
    transitive = true;
  }
}

Krok 2: Dodaj swój klucz API i uprawnienia INTERNET w 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>

Krok 3: Zainicjuj zestaw w środowisku wykonawczym w swoim kodzie, na przykład:

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);
    }
}

Krok 4: Zbuduj projekt. Aby zbudować i uruchomić:

wprowadź opis zdjęcia tutaj


Korzystanie z wtyczki Fabric IDE

Zestawy można zainstalować za pomocą wtyczki Fabric IDE dla Androida Studio lub IntelliJ po tym linku.

wprowadź opis zdjęcia tutaj

Po zainstalowaniu wtyczki uruchom ponownie Android Studio i zaloguj się na swoje konto za pomocą Android Studio .

(klawisz skrótu> CTRL + L )

wprowadź opis zdjęcia tutaj

Następnie pokaże projekty, które masz / projekt, który otworzyłeś, wybierz ten, którego potrzebujesz i kliknij przycisk Dalej .. dalej.

Wybierz zestaw, który chcesz dodać, na przykład Crashlytics :

wprowadź opis zdjęcia tutaj

Następnie kliknij Install . Tym razem nie musisz dodawać go ręcznie, tak jak powyższej wtyczki , a zamiast tego kompilacja zostanie stworzona dla Ciebie.

wprowadź opis zdjęcia tutaj

Gotowy!

Raportowanie awarii z ACRA

Krok 1: Dodaj zależność najnowszego ARA ACRA do klasy aplikacji (build.gradle).

Krok 2: W swojej klasie aplikacji (klasie, która rozszerza aplikację; jeśli nie, utwórz ją) Dodaj adnotację @ReportsCrashes i zastąp attachBaseContext() .

Krok 3: Zainicjuj klasę ACRA w swojej klasie aplikacji

@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);
            }
    }

Gdzie AUTH_USERNAME i AUTH_PASSWORD są poświadczeniami żądanych backendów .

Krok 4: Zdefiniuj klasę aplikacji w AndroidManifest.xml

 <application
        android:name=".MyApplication">
        <service></service>
        <activity></activity>
        <receiver></receiver>
 </application>

Krok 5: Upewnij się, że masz uprawnienia internet aby otrzymać raport z aplikacji, która uległa awarii

<uses-permission android:name="android.permission.INTERNET"/>

Jeśli chcesz wysłać cichy raport do wewnętrznej bazy danych, skorzystaj z poniższej metody, aby go osiągnąć.

ACRA.getErrorReporter().handleSilentException(e);

Wymuś awarię testową za pomocą tkaniny

Dodaj przycisk, którego możesz dotknąć, aby spowodować awarię. Wklej ten kod do swojego układu, w którym ma się pojawiać przycisk.

<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" />

Zgłoszenie wyjątku RuntimeException

public void forceCrash(View view) {
    throw new RuntimeException("This is a crash");
}

Uruchom aplikację i dotknij nowego przycisku, aby spowodować awarię. Za minutę lub dwie powinieneś być w stanie zobaczyć awarię na pulpicie Crashlytics, a także otrzymasz wiadomość.

Przechwytywanie awarii przy użyciu Sherlocka

Sherlock rejestruje wszystkie awarie i zgłasza je jako powiadomienie. Po dotknięciu powiadomienia otwiera ono działanie ze wszystkimi szczegółami awarii oraz informacjami o urządzeniu i aplikacji

Jak zintegrować Sherlocka z aplikacją?

Musisz tylko dodać Sherlocka jako zależność stopniową w swoim projekcie.

dependencies {
    compile('com.github.ajitsing:sherlock:1.0.1@aar') {
        transitive = true
    }
}

Po zsynchronizowaniu studia Android zainicjuj Sherlocka w swojej klasie aplikacji.

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);
  }
}

To wszystko, co musisz zrobić. Również Sherlock robi znacznie więcej niż tylko zgłaszanie awarii. Aby sprawdzić wszystkie jego funkcje, zapoznaj się z tym artykułem .

Próbny

wprowadź opis zdjęcia tutaj



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow