java - 安卓 : Need help in implementing ACRA

标签 java android acra

我是 Android 开发新手。我正在尝试实现 ACRA 以进行错误报告。我编写了以下代码以将 ACRA 集成到项目中。

   @ReportsCrashes 
   (
    formKey = "",
    reportType = org.acra.sender.HttpSender.Type.JSON,
    httpMethod = org.acra.sender.HttpSender.Method.PUT,
    formUri = "localhost:5984/acra-mediwatch/_design/acra-storage/_update/report",
    formUriBasicAuthLogin = "admin",
    formUriBasicAuthPassword = "admin"        
    )

问题是它在本地工作正常,但服务器 URL(例如 208.109.91.98:5984 而不是 localhost:5984)在指定时给我以下错误:

02-04 04:56:24.741: E/ACRA(979): Failed to send crash report for 1391489780000-approved.stacktrace
02-04 04:56:24.741: E/ACRA(979): org.acra.sender.ReportSenderException: Error while sending JSON report via Http PUT
02-04 04:56:24.741: E/ACRA(979):    at org.acra.sender.HttpSender.send(HttpSender.java:228)
02-04 04:56:24.741: E/ACRA(979):    at org.acra.SendWorker.sendCrashReport(SendWorker.java:179)
02-04 04:56:24.741: E/ACRA(979):    at org.acra.SendWorker.checkAndSendReports(SendWorker.java:141)
02-04 04:56:24.741: E/ACRA(979):    at org.acra.SendWorker.run(SendWorker.java:77)
02-04 04:56:24.741: E/ACRA(979): Caused by: org.apache.http.conn.ConnectTimeoutException: Connect to /208.109.91.98:5984 timed out
02-04 04:56:24.741: E/ACRA(979):    at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:121)
02-04 04:56:24.741: E/ACRA(979):    at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:144)
02-04 04:56:24.741: E/ACRA(979):    at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
02-04 04:56:24.741: E/ACRA(979):    at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
02-04 04:56:24.741: E/ACRA(979):    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
02-04 04:56:24.741: E/ACRA(979):    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
02-04 04:56:24.741: E/ACRA(979):    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
02-04 04:56:24.741: E/ACRA(979):    at org.acra.util.HttpRequest.send(HttpRequest.java:152)
02-04 04:56:24.741: E/ACRA(979):    at org.acra.sender.HttpSender.send(HttpSender.java:225)
02-04 04:56:24.741: E/ACRA(979):    ... 3 more

我无法从这个日志中猜出我哪里出错了。关于如何使其适用于服务器的任何想法?感谢帮助。

最佳答案

问题是,为什么您的设备会超时?

它有网络连接吗?也许您需要增加 ACRA SocketTimeout 配置。我认为默认值是 3000 或 5000 毫秒。如果将其增加到 10,000 毫秒,会有帮助吗?

更多详情 here

关于java - 安卓 : Need help in implementing ACRA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21544493/

相关文章:

java - jax-ws 导入和自定义包到命名空间映射

java - 将 JSON 转换为 GSON 到 Android

android - ACRA 在 CrashReports.csv 文件中不显示任何内容

java - 将新元素放入 arrayList 中,而不是放在其头部

java - 将数据从一个数据库复制到另一个数据库时如何解决org.hibernate.StaleObjectStateException?

java - 对象类转换或 Double.parseDouble(String) 哪个更有效

android - "Minimum supported Gradle version is 2.14.1. Current version is 2.10."错误

android - Robotium Activity 泄漏导致其他测试的错误 Activity

java - 将 org.acra.* 导入 android 项目会出错。

android - 我想在 eclipse 中打开 acra 项目