2013-06-28 35 views
2

在我的Android應用程序中,我必須將文件上傳到Google Drive。直到昨天,我已經有0上傳問題。它已經工作了一年多了。突然之間,現在我得到了很多失敗的上傳。大多數情況下,我會收到「Read Timed Out」,但偶爾我會得到java.io.eofexception。一些上傳只是延遲,對於一個小文件而言可能是20秒,而不是正常的2秒,但大部分都會失敗。上傳一個接一個地發生,每10個上傳中就有1個或2個出現這個問題。閱讀超時上傳到Google Drive

我嘗試使用最新的1.15.0-rc庫,也使用一些較舊的庫以及最新的google-api-services-drive-v2-rev82-1.14.2-beta.jar庫。似乎沒有任何幫助。

Google雲端硬盤有問題嗎?我檢查了狀態頁面,並沒有顯示任何問題。

我還創建了一個新的測試項目,它刪除了我所有的代碼,我使用新代碼從mediastore上傳一行10個文件作爲測試,並且這個應用程序也有同樣的問題。

編輯:我測試了3個不同的網絡,他們都產生了相同的行爲。

這裏是例外的一個例子:

06-28 06:09:12.942: W/HttpTransport(5758): exception thrown while executing request 
06-28 06:09:12.942: W/HttpTransport(5758): java.net.SocketTimeoutException: Read timed out 
06-28 06:09:12.942: W/HttpTransport(5758): at org.apache.harmony.xnet.provider.jsse.NativeCrypto.SSL_read(Native Method) 
06-28 06:09:12.942: W/HttpTransport(5758): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl$SSLInputStream.read(OpenSSLSocketImpl.java:664) 
06-28 06:09:12.942: W/HttpTransport(5758): at libcore.io.Streams.readSingleByte(Streams.java:41) 
06-28 06:09:12.942: W/HttpTransport(5758): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl$SSLInputStream.read(OpenSSLSocketImpl.java:648) 
06-28 06:09:12.942: W/HttpTransport(5758): at libcore.io.Streams.readAsciiLine(Streams.java:201) 
06-28 06:09:12.942: W/HttpTransport(5758): at libcore.net.http.HttpEngine.readResponseHeaders(HttpEngine.java:573) 
06-28 06:09:12.942: W/HttpTransport(5758): at libcore.net.http.HttpEngine.readResponse(HttpEngine.java:821) 
06-28 06:09:12.942: W/HttpTransport(5758): at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:283) 
06-28 06:09:12.942: W/HttpTransport(5758): at libcore.net.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:495) 
06-28 06:09:12.942: W/HttpTransport(5758): at libcore.net.http.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:134) 
06-28 06:09:12.942: W/HttpTransport(5758): at com.google.api.client.http.javanet.NetHttpResponse.<init>(NetHttpResponse.java:37) 
06-28 06:09:12.942: W/HttpTransport(5758): at com.google.api.client.http.javanet.NetHttpRequest.execute(NetHttpRequest.java:95) 
06-28 06:09:12.942: W/HttpTransport(5758): at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:980) 
06-28 06:09:12.942: W/HttpTransport(5758): at com.google.api.client.googleapis.media.MediaHttpUploader.executeCurrentRequest(MediaHttpUploader.java:456) 
06-28 06:09:12.942: W/HttpTransport(5758): at com.google.api.client.googleapis.media.MediaHttpUploader.upload(MediaHttpUploader.java:362) 
06-28 06:09:12.942: W/HttpTransport(5758): at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:420) 
06-28 06:09:12.942: W/HttpTransport(5758): at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:345) 
06-28 06:09:12.942: W/HttpTransport(5758): at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:463) 
+0

當網絡無法連接到網址,然後一段時間後,它會拋出超時錯誤 – PankajAndroid

+0

你必須捕捉該異常並返回一些值 – PankajAndroid

+0

網絡是好的。我測試了wifi,4g,還有我的朋友在他的網絡上測試過同樣的問題。我確實發現了這個例外,我把它貼上了消息。這是堆棧跟蹤。 – Nek

回答

1

這個問題就走了大約30個小時後,無需更改任何代碼。它一定是Google Drive的問題。

+1

不幸的是,我經常遇到Google雲端硬盤服務的問題。在6個月內,我發生了14次服務停頓超過一個小時的事件 - 每10分鐘發起一次嘗試。 – Wrench

+0

@Wrench在那裏與雅。開始懷疑Google雲端硬盤是否真的可以作爲開發者的平臺... – mmcrae