我正在开发一个Android应用程序,它将上传一些文件到Google Cloud Storage。为此,我使用了JetS3t java工具包0.9。我试着在标准Java项目上使用它,工作得很好,但是当我想在Android项目上使用它时,我得到了一个异常。
我在实例化JetS3t谷歌存储服务时遇到了问题,像这样:
GoogleStorageService gsService = new GoogleStorageService(gsCredentials);
当这行执行时,我得到的异常是这样的:
FATAL EXCEPTION: main
java.lang.IncompatibleClassChangeError: org.apache.http.params.SyncBasicHttpParams
at org.jets3t.service.utils.RestUtils.createDefaultHttpParams(RestUtils.java:574)
at org.jets3t.service.utils.RestUtils.initHttpConnection(RestUtils.java:298)
at org.jets3t.service.impl.rest.httpclient.RestStorageService.initHttpConnection(RestStorageService.java:209)
at org.jets3t.service.impl.rest.httpclient.RestStorageService.initializeDefaults(RestStorageService.java:166)
at org.jets3t.service.StorageService.<init>(StorageService.java:125)
at org.jets3t.service.impl.rest.httpclient.RestStorageService.<init>(RestStorageService.java:153)
at org.jets3t.service.impl.rest.httpclient.GoogleStorageService.<init>(GoogleStorageService.java:125)
at org.jets3t.service.impl.rest.httpclient.GoogleStorageService.<init>(GoogleStorageService.java:100)
at org.jets3t.service.impl.rest.httpclient.GoogleStorageService.<init>(GoogleStorageService.java:78)
看看抛出的异常,最后的错误就在这一行:
HttpParams params = new SyncBasicHttpParams();
我已经尝试了很多我在互联网上看到的东西,比如将httpcore-4.1和httpclient-4.1 jar添加到类路径中,但是没有用。
如果有人帮助我,我很感激!谢谢!
基本上…不要在Android上使用JetS3t…以下是我的发现:https://groups.google.com/forum/!主题/jets3t-users vCq4pwXSPN8