Sök…


Anmärkningar

Den bästa kompletta wiki finns här i github .

Tyg - Crashlytics

Fabric är en modulär mobil plattform som ger användbara kit som du kan blanda för att bygga din applikation. Crashlytics är ett krasch- och problemrapporteringsverktyg som tillhandahålls av Fabric som låter dig spåra och övervaka dina applikationer i detalj.


Hur man konfigurerar Fabric-Crashlytics

Steg 1: Ändra din build.gradle :

Lägg till plugin repo och gradle plugin:

 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.+'
  }
}

Använd plugin:

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

Lägg till tyget repo:

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

Lägg till Crashlyrics Kit:

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

Steg 2: Lägg till din API-nyckel och INTERNET- behörigheten i 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>

Steg 3: Börja kitet vid körning i din kod, till exempel:

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

Steg 4: Bygg projekt. Så här bygger och körs:

ange bildbeskrivning här


Använda plugin för Fabric IDE

Kit kan installeras med Fabric IDE-plugin för Android Studio eller IntelliJ efter denna länk.

ange bildbeskrivning här

När du har installerat plugin-programmet startar du om Android Studio och loggar in med ditt konto med Android Studio .

(kortnyckel> CTRL + L )

ange bildbeskrivning här

Då kommer det att visa de projekt du har / det projekt du öppnade, välj det du behöver och klicka på nästa .. nästa.

Välj det kit du vill lägga till, till exempel är det Crashlytics :

ange bildbeskrivning här

Klicka sedan på Install . Du behöver inte lägga till det manuellt den här gången som ovanför gradle plugin , istället kommer det att bygga åt dig.

ange bildbeskrivning här

Gjort!

Kraschrapportering med ACRA

Steg 1: Lägg till beroende av senaste ACRA AAR i din applikationsgrad (build.gradle).

Steg 2: I din applikationsklass (klassen som utvidgar applikationen; om inte skapar den) Lägg till en @ReportsCrashes kommentar och åsidosätt attachBaseContext() .

Steg 3: Initiera ACRA-klassen i din applikationsklass

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

Där AUTH_USERNAME och AUTH_PASSWORD är uppgifterna för dina önskade backends .

Steg 4: Definiera applikationsklassen i AndroidManifest.xml

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

Steg 5: Se till att du har internet att ta emot rapporten från en kraschad applikation

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

Om du vill skicka den tysta rapporten till backend, använd bara metoden nedan för att uppnå den.

ACRA.getErrorReporter().handleSilentException(e);

Tvinga en testkrasch med tyg

Lägg till en knapp du kan trycka på för att utlösa en krasch. Klistra in den här koden i din layout där du vill att knappen ska visas.

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

Kasta en RuntimeException

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

Kör din app och tryck på den nya knappen för att orsaka en krasch. Om en minut eller två borde du kunna se kraschen på din Crashlytics-instrumentbräda så att du får ett mail.

Fånga kraschar med Sherlock

Sherlock fångar alla dina kraschar och rapporterar dem som en avisering. När du trycker på meddelandet öppnar det en aktivitet med alla kraschdetaljer tillsammans med enhets- och applikationsinfo

Hur integrerar du Sherlock med din applikation?

Du behöver bara lägga till Sherlock som ett gradberoende i ditt projekt.

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

När du har synkroniserat din Android-studio bör du initiera Sherlock i din applikationsklass.

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

Det är allt du behöver göra. Sherlock gör också mycket mer än bara rapportera en krasch. Ta en titt på den här artikeln för att kolla in alla dess funktioner.

demo

ange bildbeskrivning här



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow