2015-04-03 3 views
2

Следующая конфигурация ACRA посылает пустой отчет в моем бэкэнде сервер:ACRA Посылает пустой отчет всего время моего бэкэнда сервер

@ReportsCrashes(
    formKey = "", // This is required for backward compatibility but not used 
    formUri = "http://myserver/SubmitCrash.aspx", 
    httpMethod=org.acra.sender.HttpSender.Method.POST, 
    customReportContent = {ReportField.APP_VERSION_CODE, ReportField.APP_VERSION_NAME, ReportField.ANDROID_VERSION, ReportField.PHONE_MODEL, ReportField.STACK_TRACE, ReportField.LOGCAT }, 
    mode = ReportingInteractionMode.SILENT, 
    resToastText = R.string.crash_toast_text 
) 

Но если перенастроить Акр, чтобы отправить отчет по электронной почте он отправляет ее без какого-либо вопроса , кто-нибудь знает, почему ACRA может отправить пустой отчет на мой сервер?

Вот мой LogCat:

04-09 20:57:51.066: E/Trace(661): error opening trace file: No such file or directory (2) 
04-10 09:39:49.249: E/Trace(641): error opening trace file: No such file or directory (2) 
04-10 09:39:50.270: D/ACRA(641): ACRA is enabled for com.MyApp, intializing... 
04-10 09:39:50.352: D/ACRA(641): Looking for error files in /data/data/com.MyApp/files 
04-10 09:39:50.660: D/dalvikvm(641): GC_CONCURRENT freed 278K, 10% free 7423K/8199K, paused 28ms+22ms, total 125ms 
04-10 09:39:50.680: D/AndroidRuntime(641): Shutting down VM 
04-10 09:39:50.680: W/dalvikvm(641): threadid=1: thread exiting with uncaught exception (group=0x40a13300) 
04-10 09:39:50.680: E/ACRA(641): ACRA caught a RuntimeException exception for com.MyApp. Building report. 
04-10 09:39:50.700: D/ACRA(641): Using default Report Fields 
04-10 09:39:51.510: D/dalvikvm(641): GC_CONCURRENT freed 354K, 11% free 7541K/8391K, paused 32ms+26ms, total 143ms 
04-10 09:39:52.159: I/ACRA(641): READ_LOGS granted! ACRA can include LogCat and DropBox data. 
04-10 09:39:52.199: D/ACRA(641): Retrieving logcat output... 
04-10 09:39:52.419: D/dalvikvm(641): GC_CONCURRENT freed 540K, 12% free 7563K/8583K, paused 31ms+9ms, total 98ms 
04-10 09:39:52.419: D/dalvikvm(641): WAIT_FOR_CONCURRENT_GC blocked 33ms 
04-10 09:39:52.489: D/dalvikvm(641): GC_FOR_ALLOC freed 23K, 12% free 7561K/8583K, paused 64ms, total 64ms 
04-10 09:39:52.489: I/dalvikvm-heap(641): Grow heap (frag case) to 7.869MB for 19690-byte allocation 
04-10 09:39:52.559: D/dalvikvm(641): GC_FOR_ALLOC freed 12K, 13% free 7567K/8647K, paused 56ms, total 56ms 
04-10 09:39:52.569: D/ACRA(641): Writing crash report file 1428658792000.stacktrace. 
04-10 09:39:52.709: D/dalvikvm(641): GC_FOR_ALLOC freed 153K, 13% free 7545K/8647K, paused 41ms, total 43ms 
04-10 09:39:52.759: D/ACRA(641): About to start ReportSenderWorker from #handleException 
04-10 09:39:52.759: D/ACRA(641): Mark all pending reports as approved. 
04-10 09:39:52.759: D/ACRA(641): Looking for error files in /data/data/com.MyApp/files 
04-10 09:39:52.781: D/ACRA(641): #checkAndSendReports - start 
04-10 09:39:52.781: D/ACRA(641): Looking for error files in /data/data/com.MyApp/files 
04-10 09:39:52.789: I/ACRA(641): Sending file 1428658792000-approved.stacktrace 
04-10 09:39:52.789: D/ACRA(641): Waiting for Toast + worker... 
04-10 09:39:53.029: D/dalvikvm(641): GC_FOR_ALLOC freed 197K, 13% free 7574K/8647K, paused 42ms, total 43ms 
04-10 09:39:53.110: D/dalvikvm(641): GC_FOR_ALLOC freed 36K, 12% free 7641K/8647K, paused 49ms, total 49ms 
04-10 09:39:53.110: I/dalvikvm-heap(641): Grow heap (frag case) to 7.992MB for 65552-byte allocation 
04-10 09:39:53.169: D/dalvikvm(641): GC_FOR_ALLOC freed 96K, 14% free 7609K/8775K, paused 50ms, total 51ms 
04-10 09:39:53.189: D/ACRA(641): Connect to http://myserver/SubmitCrash.aspx 
04-10 09:39:53.519: D/dalvikvm(641): GC_CONCURRENT freed 411K, 14% free 7630K/8775K, paused 21ms+5ms, total 63ms 
04-10 09:39:53.519: D/dalvikvm(641): WAIT_FOR_CONCURRENT_GC blocked 43ms 
04-10 09:39:53.599: D/ACRA(641): Sending request to http://myserver/SubmitCrash.aspx 
04-10 09:39:54.969: D/ACRA(641): #checkAndSendReports - finish 
04-10 09:39:55.039: D/ACRA(641): Wait for Toast + worker ended. Kill Application ? true 
04-10 09:39:55.059: E/AndroidRuntime(641): FATAL EXCEPTION: main 
04-10 09:39:55.059: E/AndroidRuntime(641): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.MyApp/com.MyApp.MainActivity}: java.lang.RuntimeException: This is a crash 
04-10 09:39:55.059: E/AndroidRuntime(641): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059) 
04-10 09:39:55.059: E/AndroidRuntime(641): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084) 
04-10 09:39:55.059: E/AndroidRuntime(641): at android.app.ActivityThread.access$600(ActivityThread.java:130) 
04-10 09:39:55.059: E/AndroidRuntime(641): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195) 
04-10 09:39:55.059: E/AndroidRuntime(641): at android.os.Handler.dispatchMessage(Handler.java:99) 
04-10 09:39:55.059: E/AndroidRuntime(641): at android.os.Looper.loop(Looper.java:137) 
04-10 09:39:55.059: E/AndroidRuntime(641): at android.app.ActivityThread.main(ActivityThread.java:4745) 
04-10 09:39:55.059: E/AndroidRuntime(641): at java.lang.reflect.Method.invokeNative(Native Method) 
04-10 09:39:55.059: E/AndroidRuntime(641): at java.lang.reflect.Method.invoke(Method.java:511) 
04-10 09:39:55.059: E/AndroidRuntime(641): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
04-10 09:39:55.059: E/AndroidRuntime(641): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
04-10 09:39:55.059: E/AndroidRuntime(641): at dalvik.system.NativeStart.main(Native Method) 
04-10 09:39:55.059: E/AndroidRuntime(641): Caused by: java.lang.RuntimeException: This is a crash 
04-10 09:39:55.059: E/AndroidRuntime(641): at com.MyApp.MainActivity.onCreate(MainActivity.java:218) 
04-10 09:39:55.059: E/AndroidRuntime(641): at android.app.Activity.performCreate(Activity.java:5008) 
04-10 09:39:55.059: E/AndroidRuntime(641): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079) 
04-10 09:39:55.059: E/AndroidRuntime(641): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023) 
04-10 09:39:55.059: E/AndroidRuntime(641): ... 11 more 
04-10 09:39:59.819: I/Process(641): Sending signal. PID: 641 SIG: 9 

ответ

0

Попробуйте с Http PUT метод, как показано ниже:

httpMethod = org.acra.sender.HttpSender.Method.PUT;

+0

Уже пробовал это, но то же самое. – user2638062

0

Как говорит LogCat, вы не полностью настроен Acra. ACRA жалуется, что вы не указали resDialogText, что также говорит о том, что остальная часть вашей конфигурации ACRA не указана в вашем вопросе.

04-09 20:57:51.066: E/Trace(661): error opening trace file: No such file or directory (2) 
04-09 20:57:51.826: W/ACRA(661): Error : 
04-09 20:57:51.826: W/ACRA(661): org.acra.ACRAConfigurationException: DIALOG  mode: you have to define at least the resDialogText parameters in your  application @ReportsCrashes() annotation. 
+0

ACRA может достичь моего сервера, потому что мой сервер добавляет пустой отчет в базу данных каждый раз, когда происходит сбой. – user2638062

+0

Но ваш сервер отправляет ответ клиенту ACRA? Если это не так, то клиент будет считать, что отчет никогда не был отправлен, и будет продолжать пытаться отправить его повторно. – William

+0

Как отправить ответ клиенту? – user2638062

0

Попробуйте конфиг этих параметров в @ReportsCrashes

resDialogText = R.string.crash_dialog_text, 
    resDialogIcon = R.drawable.dialog_logo, 
    resDialogTitle = R.string.crash_dialog_title, 
    resDialogCommentPrompt = R.string.crash_dialog_comment_prompt, 
    resDialogOkToast = R.string.crash_dialog_ok_toast, 
    reportType = Type.JSON 

Надеется, что это помогает.

+0

Очень жаль, что я отправил неверный логарифм, который предназначен для диалогового режима, пожалуйста, проверьте обновленный логарифм, который находится в бесшумном режиме. – user2638062

Смежные вопросы