Zoeken…


Opmerkingen

De beste complete wiki is hier beschikbaar in github .

Fabric - Crashlytics

Fabric is een modulair mobiel platform dat handige kits biedt die u kunt mixen om uw applicatie te bouwen. Crashlytics is een crash- en probleemrapportagetool van Fabric waarmee u uw applicaties in detail kunt volgen en volgen.


Fabric-Crashlytics configureren

Stap 1: Wijzig uw build.gradle :

Voeg de repo van de plug-in en de gradle-plug-in toe:

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

Installeer de plug-in:

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

Voeg de Fabric-repo toe:

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

Voeg de Crashlyrics Kit toe:

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

Stap 2: voeg uw API-sleutel en de INTERNET- machtiging in 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>

Stap 3: Initialiseer de kit tijdens runtime in uw code, bijvoorbeeld:

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

Stap 4: Bouw project. Bouwen en uitvoeren:

voer hier de afbeeldingsbeschrijving in


De Fabric IDE-plug-in gebruiken

Kits kunnen worden geïnstalleerd met behulp van de Fabric IDE-plug-in voor Android Studio of IntelliJ via deze link.

voer hier de afbeeldingsbeschrijving in

Na het installeren van de plug-in, start u Android Studio opnieuw op en logt u in met uw account met behulp van Android Studio .

(sneltoets> CTRL + L )

voer hier de afbeeldingsbeschrijving in

Vervolgens worden de projecten weergegeven die u hebt / het project dat u hebt geopend, selecteert u de projecten die u nodig hebt en klikt u op Volgende ... volgende.

Selecteer de kit die u wilt toevoegen, bijvoorbeeld Crashlytics :

voer hier de afbeeldingsbeschrijving in

Klik vervolgens op Install . Je hoeft het deze keer niet handmatig toe te voegen, zoals de bovenstaande gradle-plug-in , maar in plaats daarvan wordt het voor je gebouwd.

voer hier de afbeeldingsbeschrijving in

Gedaan!

Crashrapportage met ACRA

Stap 1: voeg de afhankelijkheid van de nieuwste ACRA AAR toe aan uw applicatiegradle (build.gradle).

Stap 2: In uw toepassingsklasse (de klasse die de toepassing uitbreidt; als deze niet is gemaakt) Voeg een annotatie @ReportsCrashes en overschrijf de methode attachBaseContext() .

Stap 3: Initialiseer de ACRA-klasse in uw toepassingsklasse

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

Waar AUTH_USERNAME en AUTH_PASSWORD de referenties van uw gewenste backends zijn .

Stap 4: Definieer de toepassingsklasse in AndroidManifest.xml

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

Stap 5: zorg ervoor dat u internet hebt om het rapport van de gecrashte toepassing te ontvangen

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

Als u het stille rapport naar de backend wilt verzenden, gebruikt u gewoon de onderstaande methode om dit te bereiken.

ACRA.getErrorReporter().handleSilentException(e);

Forceer een testcrash met stof

Voeg een knop toe waarop u kunt tikken om een crash te activeren. Plak deze code in uw lay-out waar u de knop wilt laten verschijnen.

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

Gooi een RuntimeException

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

Start uw app en tik op de nieuwe knop om een crash te veroorzaken. Binnen een minuut of twee zou je de crash op je Crashlytics-dashboard moeten kunnen zien en krijg je een e-mail.

Leg crashes vast met Sherlock

Sherlock vangt al je crashes op en meldt ze als een melding. Wanneer u op de melding tikt, wordt een activiteit geopend met alle crashdetails samen met apparaat- en applicatie-informatie

Hoe Sherlock te integreren met uw applicatie?

U hoeft alleen Sherlock toe te voegen als een geleidelijke afhankelijkheid in uw project.

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

Na het synchroniseren van je Android-studio, initialiseer Sherlock in je toepassingsklasse.

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

Dat is alles wat u hoeft te doen. Ook doet Sherlock veel meer dan alleen een crash melden. Lees dit artikel om alle functies te bekijken.

demonstratie

voer hier de afbeeldingsbeschrijving in



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow