I know it’s hard to make a error free application but still i’m trying to make with less defects at least.
-
So when i googled i came to know we can ACRA can be used to send
errors of Crashed applications.I tried to throw my own user defined exception. I’m getting following error.
11-04 09:36:25.896: E/ACRA(625): Failed to send crash report for
1320379577000-approved.stacktrace 11-04 09:36:25.896: E/ACRA(625):
org.acra.sender.ReportSenderException: Error while sending report to
Google Form. 11-04 09:36:25.896: E/ACRA(625): at
org.acra.sender.GoogleFormSender.send(GoogleFormSender.java:64) 11-04
09:36:25.896: E/ACRA(625): at
org.acra.ErrorReporter.sendCrashReport(ErrorReporter.java:850) 11-04
09:36:25.896: E/ACRA(625): at
org.acra.ErrorReporter.checkAndSendReports(ErrorReporter.java:960)
11-04 09:36:25.896: E/ACRA(625): at
org.acra.ErrorReporter$ReportsSenderWorker.run(ErrorReporter.java:142)
11-04 09:36:25.896: E/ACRA(625): Caused by:
java.net.SocketTimeoutException: Read timed out 11-04 09:36:25.896:
E/ACRA(625): at
org.apache.harmony.xnet.provider.jsse.NativeCrypto.SSL_read(Native
Method) 11-04 09:36:25.896: E/ACRA(625): at
org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl$SSLInputStream.read(OpenSSLSocketImpl.java:788)
11-04 09:36:25.896: E/ACRA(625): at
org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:103)
11-04 09:36:25.896: E/ACRA(625): at
org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:191)
11-04 09:36:25.896: E/ACRA(625): at
org.apache.http.impl.conn.DefaultResponseParser.parseHead(DefaultResponseParser.java:82)
11-04 09:36:25.896: E/ACRA(625): at
org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:174)
11-04 09:36:25.896: E/ACRA(625): at
org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:179)
11-04 09:36:25.896: E/ACRA(625): at
org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:235)
11-04 09:36:25.896: E/ACRA(625): at
org.apache.http.impl.conn.AbstractClientConnAdapter.receiveResponseHeader(AbstractClientConnAdapter.java:259)
11-04 09:36:25.896: E/ACRA(625): at
org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:279)
11-04 09:36:25.896: E/ACRA(625): at
org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:121)
11-04 09:36:25.896: E/ACRA(625): at
org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:421)
11-04 09:36:25.896: E/ACRA(625): at
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
11-04 09:36:25.896: E/ACRA(625): at
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
11-04 09:36:25.896: E/ACRA(625): at
org.acra.util.HttpRequest.sendPost(HttpRequest.java:109) 11-04
09:36:25.896: E/ACRA(625): at
org.acra.util.HttpRequest.sendPost(HttpRequest.java:80) 11-04
09:36:25.896: E/ACRA(625): at
org.acra.util.HttpUtils.doPost(HttpUtils.java:59) 11-04 09:36:25.896:
E/ACRA(625): at
org.acra.sender.GoogleFormSender.send(GoogleFormSender.java:62)
I guess i have made some mistake in form.. but cannot spot what it is
You might get better answers on the ACRA mailing list.
Sending the logcat definitely works, but you might not want to add that permission in a production app, it may scare people away. Did you use a Google Docs form for the report? If so, the logcat will be in the LOGCAT column. Details are here.