Android - Versand von crash-reports?
Es scheint, dass ab Android 2.2 gibt es eine neue Funktion für das senden crash-Berichte, wie erwähnt, in den links:
- http://www.androidcentral.com/new-android-app-crash-report-tool-already-and-running
- http://android-developers.blogspot.com/2010/05/google-feedback-for-android.html
- http://developer.android.com/sdk/android-2.2-highlights.html
- http://www.youtube.com/watch?v=o8unC9bA4O8
Wie kann ich diese Funktion verwenden? Ist es automatisch für jede Anwendung heruntergeladen aus dem market (aka Google Play Store)?
Wo finde ich mehr info über dieses feature?
Außerdem ist es möglich, zu passen, was gesendet wird, vielleicht mithilfe DefaultExceptionHandler, und unsere eigene Beschreibung des Absturzes?
HINWEIS: ich weiß, dass es viele tools für das senden crash-Berichte (wie ACRA) , aber ich möchte erst prüfen, ob es möglich ist, verwenden Sie, was ist bereits gegeben.
EDIT: ich habe erfolgreich das ändern der exception übergeben wird weiter, in der Hoffnung, dass sich dies auch ändern den Bericht, der gesendet wird, um die Entwickler-website von Google.
Hier ist ein Beispiel code, der relevant ist für diese:
private static class DefaultExceptionHandler implements java.lang.Thread.UncaughtExceptionHandler
...
@Override
public void uncaughtException(Thread t, Throwable e)
{
final StackTraceElement[] exceptionStackTrace = e.getStackTrace();
Exception exception = new Exception("my new exception!", e);
final StackTraceElement[] newExceptionStackTrace = new StackTraceElement[exceptionStackTrace.length + 1];
System.arraycopy(exceptionStackTrace, 0, newExceptionStackTrace, 1, exceptionStackTrace.length);
newExceptionStackTrace[0] = new StackTraceElement("TEST CLASS", "TEST METHOD", "TEST FILE", 0);
exception.setStackTrace(newExceptionStackTrace);
_defaultUEH.uncaughtException(t, exception); //this will hopefully call the default handling of the exception for reporting
}
InformationsquelleAutor android developer | 2012-05-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was Sie beschrieben haben klingt wie der build-in-feature, und soweit ich weiß, können Sie nicht anpassen. Die Daten werden an den googlePlay dev-Konto, das hochladen der app. Ich habe gesehen, Anpassungen von Sense, oder Custom Roms. Der einzige Weg, um Ihre eigenen Protokolle, ist die Verwendung der
DefaultErrorHandler
Sie erwähnt. Als eine gute Praxis ich würde überprüfen, wenn Sie können fangen die Fehler selbst, (vielleicht melden Sie es irgendwo). Wenn nicht würde ich rethrow dieser Fehler, um dem Benutzer eine chance zu geben Ihnen Hinweise , was er getan hat,Sie können nicht übergeben, werden zusätzliche Informationen in die integrierte in crashReport. Sie können die DefaultExHandler NUR zu schicken Sie Ihre EIGENEN Berichte, in einer Weise, die Sie mögen
Sie Verstand nicht, mich (wegen mir , wie ich zugeben muss) . ich möchte die zusätzlichen Daten . angenommen , ich bekomme eine null-Zeiger-Ausnahme , und ich möchte Protokolle, die gedruckt wurden, bevor diese exception aufgetreten ist . kann ich diese info in irgendeiner Weise , so dass auf der Entwickler-website, ich kann sehen, es zusammen mit dem rest der Informationen, die Sie gesammelt ? vielleicht kann ich senden meine eigene benutzerdefinierte Ausnahme, die diese Daten berücksichtigen?
Es kann nicht befriedigen, aber ich glaube, ich verstehe Sie gut. Die Antwort ist wieder Nein. Wenn Sie möchten, um zusätzliche Infos, die Sie haben zu erfinden, Ihre eigenen Berichte zu und senden Sie Sie an Ihre eigenen server! Es gibt keine Api, oder auf irgendeine andere Art ETWAS senden oder zu kommunizieren, um die build-in Funktion (wenn Sie nicht wollen, Kochen Sie Ihre eigenen rom)
also, wenn ich rufen Sie die original-DefaultErrorHandler Verfahren, mit der Ausnahme , doch meine eigene Ausnahme gibt es , mit meinen eigenen Informationen , wird es nicht funktionieren?
InformationsquelleAutor Rafael T