Sollte ich e.printStackTrace () vor der Veröffentlichung aus meinem Code entfernen
Ich lese das die Android-Publishing-docs-und Sie sagte zu entfernen Sie alle Log-Aufrufe aus meinem code. Ich habe einige Anrufe zu e.printStackTrace()
in meinem code, die gedruckt werden können, als Teil der normalen Ausführung mein Programm (dh. wenn eine Datei noch nicht existiert).
Sollte ich auch entfernen, diese Anrufe?
InformationsquelleAutor der Frage jax | 2010-01-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie sich nicht mit
e.printStackTrace()
direkt sowieso — damit senden Sie die Infos zu dem Android-log, ohne dass die Anwendung (log-tag) kam es aus.Wie andere erwähnt haben, weiterhin fangen die
Exception
in Frage, aber verwenden Sie eine derandroid.util.Log
Methoden um die Protokollierung. Sie konnte log nur die Meldung, nicht aber der stack-trace, oder verwenden Sie die ausführliche Protokollierung für die stack-trace:Sollten Sie strip
DEBUG
oderVERBOSE
log-Meldungen aus Ihrer Produktion baut. Der einfachste Weg ist es, verwenden ProGuard zu entfernenLog.[dv]
ruft aus dem code.InformationsquelleAutor der Antwort Christopher Orr
Wenn Sie gestatten, eine Ausnahme zu vermehren, bis das OS dann die OS melden und auch pop-up eine Kraft, Fenster Schließen, töten Ihre Anwendung. Wenn Sie fangen, dann können Sie verhindern, dass Ihre Anwendung von Gewalt geschlossen.
Wenn Sie möchten, dass Ihre Benutzer die Möglichkeit haben, senden Sie Fehler, die Sie bekommen, dann würde ich das melden der stack-trace. Sie können dann senden Sie das Protokoll über eine app wie Log Collector.
Wenn Sie vermeiden möchten, die Möglichkeit, eigene stack-trace-Daten für Ihre Benutzer, dann fangen Sie die Ausnahme und nicht loggen.
InformationsquelleAutor der Antwort Mark B
Ich würde Logfile-Klasse für die Nachricht löschte. Für Protokolle, die Sie denken, sind wichtig, um den Aufenthalt in der app - Log.ich
für Fehler, Warnung - Log.e-Log.w
Für Sie die debug-Protokolldatei.d - und dass Sie über die Abzweigung auf der Basis auf, wenn die Anwendung im debug-Modus.
http://developer.android.com/reference/android/util/DebugUtils.html
InformationsquelleAutor der Antwort Alex Volovoy
Gut
printStackTrace()
wird, melden Sie es in das Betriebssystem, wodurch Sie Ihre Android - (oder computer -) app zu beenden (force close), stattdessen machen Sie etwas wie dieses:InformationsquelleAutor der Antwort Brandon
meiner bescheidenen Meinung nach (ich bin kein Android-Entwickler)
Sollte es nett sein. Ich weiß nicht, die logging-Optionen für Android, aber ich bin sicher, Sie haben einige konfigurierbare Sache ausgeben (oder nicht) Ihre Spuren.
Und wenn Sie nicht tun, printStackTrace (), die Android nicht die Drecksarbeit, ihn zu ignorieren.
🙂
Es ist nur ein gutes-Gefühl - (style -) Sache.
InformationsquelleAutor der Antwort helios
Wenn Sie möchten, um sicher zu sein, d.h. nicht zulassen, dass jemand snooping zu Lesen Ausnahme-Protokolle können Sie etwas tun, wie
InformationsquelleAutor der Antwort Dori
Um
printStackTrace
in ein sicherer Weg, würde ichStringWrite
undPrintWriter
:Alternativ:
InformationsquelleAutor der Antwort Sa Qada
Verwenden, um die Protokolle von release apk
InformationsquelleAutor der Antwort codeskraps