[Anleitung] Bug Report mit ACRA v4.9

  • Antworten:0
Ludy
  • Admin
  • Forum-Beiträge: 7.958

07.05.2015, 00:30:16 via Website

Hallo,

heute mal ein kleine Anleitung für den Bug-Report von ACRA in der Version 4.9.0 official stable.

(!) Verwendung der Software auf eigene Gefahr, werde AndroidPit noch ich über nehmen Verantwortung für Fehler und Schäden (!)

Einbindung in Android Studio Projekt
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Stellt in Android Studio die Übersicht auf "Project"

Die Übersicht sollte wie folgt aussehen(teil Ausschnitt)

Als nächstes bearbeiten wir die in dem Ordner befindene build.gradle Datei.

(!) Achtet darauf das Ihr die in dem App-Ordner editiert und nicht die vom Projekt-Ordner (!)

Nun scrollen wir zu dem Eintrag

dependencies {
    ...
}

dort fügen wir folgendes zwischen die Klammern

compile 'ch.acra:acra:4.9.0'

Das exclude group: 'org.json' ist ein momentaner Bug-Fix für die Projekte die eine org.json Einbindung schon verwenden, hiermit wird verhindert, dass die Libary doppelt eingebunden wird.

Jetzt erstellen wir eine neue Java Klasse in meinem Beispiel ApplicationForReport, mit der extends Application und über schreiben die attachBaseContext Methode.

@Override
protected void attachBaseContext(Context base) {
   super.attachBaseContext(base);
   ACRA.init(this);
}

Damit beim debugging keine Massen Benachrichtigungen kommen sollte es dann so aussehen

@Override
protected void attachBaseContext(Context base) {
   super.attachBaseContext(base);
   if (!BuildConfig.DEBUG)
      ACRA.init(this);
}


Erstellen des Interfaces
:::::::::::::::::::::::::::::::::::::::::

Angefangen mit @ReportsCrashes

Für Apps mit Internet Permission

formUri=hier muss die URL zur Homepage angegeben werden wo das LogFile übertragen werden soll


Für Apps ohne Internet Permission senden per Email

mailTo= "mail@anbieter.org"


mode=im Beispiel nutze ich ein Toast als Anzeige Modus(weitere findet ihr hier)

resToastText=wie man sich schon denken kann soll der User auch drüber informiert werden dies wir hier gemacht, dafür muss eine String.Ressourse erstellt werden(z.B. Die App ist abgestürtzt ein Report wurde die Entwickler zugesand)

customReportContent: ist das wichtigste, hier wird gewählt was brauche ich als Entwickler, wenn meine App beim User Abstürzt?!
Hier eine Meiner verwendeten Einstellung

customReportContent= {
ReportField.DEVICE_FEATURES, // Auflistung der Ausrüstung des Devices vom User
ReportField.PHONE_MODEL, // Auf welchem Model ist die App abgestürzt
ReportField.ANDROID_VERSION,
ReportField.PACKAGE_NAME, // bei Verwendung von mehreren App-Statusse nützlich um die Bugreports auseinander zuhalten
ReportField.APP_VERSION_CODE,
ReportField.USER_CRASH_DATE, // Zeitpunkt des Absturzes
ReportField.STACK_TRACE,
ReportField.LOGCAT,
ReportField.BRAND // Device Hersteller
}

oder


Der letzte Schritt
::::::::::::::::::::::::::::::

Registrieren der class in AndroidMainfest.xml

-----------

crash.php

die Daten werden per POST gesendet z.B. ReportField.LOGCAT kommt $_POST['LOGCAT']

Fertig
:::::::::::::::

— geändert am 30.09.2016, 18:53:41

Gruß Ludy (App Entwickler)

Mein Beitrag hat dir geholfen? Lass doch ein "Danke" da.☺

☕ Buy Me A Coffee ☕

Lebensmittelwarnung-App

✨Meine Wunschliste✨

📲Telegram NextPit News📲

swa00

Antworten