Android
Rapporteringsverktyg för krasch
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:
Använda plugin för Fabric IDE
Kit kan installeras med Fabric IDE-plugin för Android Studio eller IntelliJ efter denna länk.
När du har installerat plugin-programmet startar du om Android Studio och loggar in med ditt konto med Android Studio .
(kortnyckel> CTRL + L
)
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 :
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.
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