问题
I'm trying to use the android crash report in my android project.
I have added the jar and I have code like this in my src directory.
import android.app.Application;
import org.acra.*;
import org.acra.annotation.*;
@ReportsCrashes(formKey = "0xxxxxxxxxxxxxxxxxxxS2JONHc")
public class CrashLog extends Application {
@Override
public void onCreate() {
// The following line triggers the initialization of ACRA
ACRA.init(this);
super.onCreate();
}
}
My google spreadsheet url look like this:
https://docs.google.com/spreadsheet/ccc?key=0xxxxxxxxxxxxxxxxxxxS2JONHc#gid=0
But when I run the app I get the following exception in my logcat:
Looking for error files in /data/data/com.simplepay.hellomobile/files
I/ACRA ( 547): Sending file 1364199528000-approved.stacktrace
D/ACRA ( 547): Sending report 5653c004-9511-4bee-b918-2896a28270b9
D/ACRA ( 547): Connect to https://docs.google.com/spreadsheet/formResponse?formkey=0AkxxxxxxxJS2JONHc&ifq
D/dalvikvm( 547): GC_CONCURRENT freed 1167K, 54% free 3134K/6727K, external 2336K/2711K, paused 5ms+6ms
D/ACRA ( 547): Sending request to https://docs.google.com/spreadsheet/formResponse?formkey=0AkxxxxxxxxxxxNHc&ifq
W/ResponseProcessCookies( 547): Invalid cookie header: "Set-Cookie: NID=67=QXbN91Capc8QPihoEN08wFVyvr8barZQGX6RVH0OUCbZx4Z8LYTeOrQOXIevhcxpA9mlQ41aeF3lgpJxqxpvx91xLVExQlz3VPcNRaGkZXyazBylB855o236ORifVsdm;Domain=.google.com;Path=/;Expires=Tue, 24-Sep-2013 12:08:29 GMT;HttpOnly". Unable to parse expires attribute: Tue
E/ACRA ( 547): Failed to send crash report for 1364199528000-approved.stacktrace
E/ACRA ( 547): org.acra.sender.ReportSenderException: Error while sending report to Google Form.
E/ACRA ( 547): at org.acra.sender.GoogleFormSender.send(GoogleFormSender.java:88)
E/ACRA ( 547): at org.acra.SendWorker.sendCrashReport(SendWorker.java:178)
E/ACRA ( 547): at org.acra.SendWorker.checkAndSendReports(SendWorker.java:141)
E/ACRA ( 547): at org.acra.SendWorker.run(SendWorker.java:77)
E/ACRA ( 547): Caused by: java.io.IOException: Host returned error code 400
E/ACRA ( 547): at org.acra.util.HttpRequest.sendPost(HttpRequest.java:148)
E/ACRA ( 547): at org.acra.sender.GoogleFormSender.send(GoogleFormSender.java:85)
E/ACRA ( 547): ... 3 more
D/ACRA ( 547): #checkAndSendReports - finish
where am I making the mistake? The key
that I got from my url is the one to be given the formKey
value right?
Thanks in advance.
回答1:
You must use the formkey of the added form and not of the spreadsheet. Please open your spreadsheet and than open the form at the menu. There will be a link at the end of the form with the key in it.
https://docs.google.com/spreadsheet/viewform?formkey=YOUR_FORM_FORMKEY
Here are the BasicSetup instructions.
Please note Since the recent update of Google Forms by Google, the usage of Google Docs as a storage engine for ACRA reports is becoming deprecated.
来源:https://stackoverflow.com/questions/15614718/android-crash-report-doesnt-send-data-to-google-docs