Android
Crash-Reporting-Tools
Suche…
Bemerkungen
Das beste komplette Wiki gibt es hier in github .
Stoff - Crashlytics
Fabric ist eine modulare mobile Plattform, die nützliche Kits enthält, die Sie zum Erstellen Ihrer Anwendung kombinieren können. Crashlytics ist ein von Fabric zur Verfügung gestelltes Tool zum Absturz- und Fehlerbericht , mit dem Sie Ihre Anwendungen detailliert verfolgen und überwachen können.
So konfigurieren Sie Fabric-Crashlytics
Schritt 1: Ändern Sie Ihr build.gradle
:
Fügen Sie das Plugin-Repo und das Gradle-Plugin hinzu:
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.+'
}
}
Wenden Sie das Plugin an:
apply plugin: 'com.android.application'
//Put Fabric plugin after Android plugin
apply plugin: 'io.fabric'
Fügen Sie das Stoff-Repo hinzu:
repositories {
maven { url 'https://maven.fabric.io/public' }
}
Füge das Crashlyrics Kit hinzu:
dependencies {
compile('com.crashlytics.sdk.android:crashlytics:2.6.6@aar') {
transitive = true;
}
}
Schritt 2: Fügen Sie Ihren API-Schlüssel und die INTERNET- Berechtigung 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>
Schritt 3: Initialisieren Sie das Kit zur Laufzeit in Ihrem Code. Beispiel:
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);
}
}
Schritt 4: Projekt erstellen. Um zu bauen und auszuführen:
Verwenden des Fabric IDE-Plugins
Kits können mithilfe des Fabric IDE-Plugins für Android Studio oder von IntelliJ unter diesem Link installiert werden.
Nach der Installation des Plugin, Android Studio neu starten und melden Sie sich mit Ihrem Konto mit Android Studio.
(Kurztaste> CTRL + L
)
Dann werden die Projekte angezeigt, die Sie haben / das Projekt, das Sie geöffnet haben. Wählen Sie das gewünschte Projekt aus und klicken Sie auf Weiter.
Wählen Sie das Kit aus, das Sie hinzufügen möchten. Für sein Beispiel ist es Crashlytics :
Install
dann auf Install
. Sie müssen es dieses Mal nicht manuell hinzufügen, wie oben beschriebenes Plugin , sondern es wird für Sie erstellt.
Erledigt!
Crash-Berichterstellung mit ACRA
Schritt 1: Fügen Sie die Abhängigkeit des neuesten ACRA- AAR zu Ihrem Bewerbungsgrad (build.gradle) hinzu.
Schritt 2: Fügen Sie in Ihrer Anwendungsklasse (die Klasse, die Application erweitert; falls nicht, sie erstellen) eine Annotation @ReportsCrashes
und überschreiben Sie die attachBaseContext()
Methode.
Schritt 3: Initialisieren Sie die ACRA-Klasse in Ihrer Anwendungsklasse
@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);
}
}
Dabei sind AUTH_USERNAME und AUTH_PASSWORD die Berechtigungsnachweise Ihres gewünschten Backends .
Schritt 4: Definieren Sie die Anwendungsklasse in AndroidManifest.xml
<application
android:name=".MyApplication">
<service></service>
<activity></activity>
<receiver></receiver>
</application>
Schritt 5: Stellen Sie sicher, dass Sie über eine internet
verfügen, um den Bericht von einer abgestürzten Anwendung zu erhalten
<uses-permission android:name="android.permission.INTERNET"/>
Wenn Sie den stillen Bericht an das Backend senden möchten, verwenden Sie einfach die unten stehende Methode, um dies zu erreichen.
ACRA.getErrorReporter().handleSilentException(e);
Erzwingen Sie einen Testabsturz mit Stoff
Fügen Sie eine Schaltfläche hinzu, die Sie antippen können, um einen Absturz auszulösen. Fügen Sie diesen Code in Ihr Layout ein, wo die Schaltfläche angezeigt werden soll.
<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 auslösen
public void forceCrash(View view) {
throw new RuntimeException("This is a crash");
}
Starten Sie Ihre App und tippen Sie auf die neue Schaltfläche, um einen Absturz zu verursachen. In ein oder zwei Minuten sollten Sie in der Lage sein, den Absturz in Ihrem Crashlytics-Dashboard zu sehen sowie eine E-Mail zu erhalten.
Erfassen Sie Abstürze mit Sherlock
Sherlock erfasst alle Ihre Abstürze und meldet sie als Benachrichtigung. Wenn Sie auf die Benachrichtigung tippen, wird eine Aktivität mit allen Absturzdetails sowie Geräte- und Anwendungsinformationen geöffnet
Wie kann ich Sherlock in Ihre Anwendung integrieren?
Sie müssen lediglich Sherlock als gradle Abhängigkeit in Ihrem Projekt hinzufügen.
dependencies {
compile('com.github.ajitsing:sherlock:1.0.1@aar') {
transitive = true
}
}
Nachdem Sie Ihr Android-Studio synchronisiert haben, initialisieren Sie Sherlock in Ihrer Application-Klasse.
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);
}
}
Das ist alles was Sie tun müssen. Auch Sherlock kann nicht nur einen Absturz melden. Schauen Sie sich diesen Artikel an, um alle Funktionen zu überprüfen .
Demo