问题
Am trying to send crash report from my applicatio to my domain or Mail but failed still.
To get the crash report in mail, I did
@ReportsCrashes(
formKey = "",
mailTo = "abc@gmail.com"
)
And the response is, Sending file 1372758321000-approved.stacktrace
checkAndSendReports - finish
To get the crash report in my domain, I did
@ReportsCrashes(
formKey = "",
formUri = "http://www.abc.com/test1"
)
And the response is, Sending file 1372856882000-approved.stacktrace Failed to send crash report for 1372856882000-approved.stacktrace org.acra.sender.ReportSenderException: Error while sending FORM report via Http POST
Any help will be handy for me and appreciated.
回答1:
ACRA works for me sending reports by e-mail when I do exactly as they say in their docs:
@ReportsCrashes(mailTo = "reports@yourdomain.com", // my email here
mode = ReportingInteractionMode.TOAST,
resToastText = R.string.crash_toast_text)
https://github.com/ACRA/acra/wiki/Report-Destinations#sending-reports-by-email
You are probably forgetting the toast part. Or can it be you don't have an e-mail program (such as when you're running on the simulator).
I think sending reports by Google docs are not supported anymore.
回答2:
Your application class should look like this.
import android.app.Application;
import org.acra.ACRA;
import org.acra.ReportField;
import org.acra.ReportingInteractionMode;
import org.acra.annotation.ReportsCrashes;
@ReportsCrashes(mailTo = "user@domain.com", customReportContent = {
ReportField.APP_VERSION_CODE, ReportField.APP_VERSION_NAME,
ReportField.ANDROID_VERSION, ReportField.PHONE_MODEL,
ReportField.CUSTOM_DATA, ReportField.STACK_TRACE, ReportField.LOGCAT},
mode = ReportingInteractionMode.TOAST, resToastText = R.string.crash_toast_text)
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
ACRA.init(this);
}
}
回答3:
No,not like Alex say,the mode property has no releation to the reporting type,you can see it in the source code in github using the mailTo type,you should make sure that:
- your app has the permission to connect network;
- have an e-mail program in your device like Alex say;
- have you invoked the ACRA.init(this) method in your application's oncreate()?
if all of these have done,then run your app,it will note you to configure the email,such as username and password and so on.
来源:https://stackoverflow.com/questions/17463237/how-to-send-android-crash-report-using-acra