2015-04-12 74 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

回答