2015-04-12 61 views
1

我需要公开一些毕加索资源来满足一个相当奇怪的请求。为此,我需要将Picasso作为库项目导入,而不是编译好的jar。我创建了一个新的Android项目,并将picasso \ picasso \ src \ main \ java(克隆的主文件)的内容复制到src文件夹中。毕加索使用OkHttp,因此我下载了最新版本的jar(2.3.0)并将其放入毕加索项目的libs文件夹中;将其添加到构建路径;选择构建路径“订单和导出”首选项中的jar。最后,我让毕加索项目成为一个图书馆,并将其纳入主项目中(也从库中移除了旧毕加索罐子)。在Eclipse中导入毕加索和OkHttp

第一次应用程序试图做一个毕加索的请求,我得到以下异常:

04-12 17:04:15.956: E/AndroidRuntime(5436): java.lang.NoClassDefFoundError: com.squareup.okhttp.internal.DiskLruCache$4 
04-12 17:04:15.956: E/AndroidRuntime(5436):  at com.squareup.okhttp.internal.DiskLruCache.<clinit>(DiskLruCache.java:810) 
04-12 17:04:15.956: E/AndroidRuntime(5436):  at com.squareup.okhttp.Cache.<init>(Cache.java:168) 
04-12 17:04:15.956: E/AndroidRuntime(5436):  at com.squareup.picasso.OkHttpDownloader.<init>(OkHttpDownloader.java:77) 
04-12 17:04:15.956: E/AndroidRuntime(5436):  at com.squareup.picasso.OkHttpDownloader.<init>(OkHttpDownloader.java:55) 
04-12 17:04:15.956: E/AndroidRuntime(5436):  at com.squareup.picasso.OkHttpDownloader.<init>(OkHttpDownloader.java:45) 
04-12 17:04:15.956: E/AndroidRuntime(5436):  at com.squareup.picasso.Utils$OkHttpLoaderCreator.create(Utils.java:424) 
04-12 17:04:15.956: E/AndroidRuntime(5436):  at com.squareup.picasso.Utils.createDefaultDownloader(Utils.java:250) 
04-12 17:04:15.956: E/AndroidRuntime(5436):  at com.squareup.picasso.Picasso$Builder.build(Picasso.java:832) 
04-12 17:04:15.956: E/AndroidRuntime(5436):  at com.squareup.picasso.Picasso.with(Picasso.java:662) 

指定的类似乎是在坛子里,但DiskLruCache.java似乎分成一共有9类文件:

$ ls DiskLruCache* 
DiskLruCache$1.class DiskLruCache$4.class   DiskLruCache$Entry.class 
DiskLruCache$2.class DiskLruCache$Editor$1.class DiskLruCache$Snapshot.class 
DiskLruCache$3.class DiskLruCache$Editor.class DiskLruCache.class 

我准备好提供其他信息。任何建议将不胜感激。

编辑:

这个问题似乎是在OkHttp罐子。我试图将它与Picasso jar(最新版本 - 2.5.2)一起导入到主项目中,我也遇到了相同的异常。我没有看到任何OkHttp警告,表示在其他一些线程中声明的不兼容性。

+1

同样的例外,只有在libs文件夹中的jar。 – GPack

+0

你能提供关于你的案例的其他信息吗? –

+0

在我的项目的libs文件夹中使用Eclipse Luna和picasso-2.5.2 jar和okhttp-2.3.0 jar(我需要它使用OkHttpClient):我得到和你一样的相同错误。 – GPack

回答