Пытались заставить Acralyser работать с Cloudant.
- Реплицировал экземпляры CouchDB ACRA в свою облачную учетную запись. Думаю, это работает, так как я вижу обе свои базы данных в своей облачной учетной записи.
- Создал пользователя записи (репортер) и сгенерировал ключ API для пользователя.
На стороне приложения я добавил следующую аннотацию.
@ReportsCrashes(formKey = "", formUri = "http://[my-cloudant]/[my-db]/_design/acra-storage/_update/report", reportType = HttpSender.Type.JSON, httpMethod = HttpSender. Method.PUT, formUriBasicAuthLogin = "[мой-пользователь-репортера]", formUriBasicAuthPassword = "[мой-пароль-репортера]", mode = ReportingInteractionMode.TOAST)
В formUri, если я использую «http», похоже, что запрос ACRA к cloudant прошел без проблем. Однако я ничего не вижу на странице отчетов.
URL отчета: https://[my-cloudant]/acralyzer/_design/acralyzer/index.html#/dashboard/
В formURI, если я использую «https», я получаю следующую ошибку ACRA:
org.acra.sender.ReportSenderException: Error while sending JSON report via Http PUT
at org.acra.sender.HttpSender.send(HttpSender.java:228)
at org.acra.SendWorker.sendCrashReport(SendWorker.java:179)
at org.acra.SendWorker.checkAndSendReports(SendWorker.java:141)
at org.acra.SendWorker.run(SendWorker.java:77)
Caused by: javax.net.ssl.SSLPeerUnverifiedException: No peer certificate
at org.apache.harmony.xnet.provider.jsse.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:137)
Я тестирую вышеперечисленное с помощью эмулятора, а также с устройством Samsung S2 (с рутом).
Рады предоставить дополнительную информацию, если это необходимо.