2012-11-22 20 views
33

Yeni Facebook SDK 3.0 beta sürümünü uyguladım. Kütüphane projesi Android destek kütüphanesini v4 içerir. Kendi proyomda da destek kütüphanem var (farklı bir versiyon olsa da). Ben buildpath üzerinde libs klasörü dışlamak için denedimFacebook SDK for Android çoğaltmak bağımlılıklar kütüphanesinde destek

Jar mismatch! Fix your dependencies 
Found 2 versions of android-support-v4.jar in the dependency list, 
but not all the versions are identical (check is based on SHA-1 only at this time). 
All versions of the libraries must be the same at this time. 

, ancak hata kalır: Ben kitaplık olarak Facebook SDK eklediğinizde Konsolun üzerinde sonraki hatası alıyorum.

Her iki yerde de aynı .jar dosyasını koymam gerekiyor. Burada bir şey mi eksik? Fikir, kendi projemin destek kütüphanesini kullanmaktır (güncel tutmak için). Farklı projeler iki ayrı destek kütüphanesi kullanıyor gibi görünüyor ve bu nedenle sağlama toplamı farklı gibi görünüyor.

cevap

122

Sen gerekir hem Facebook SDK proje ve inşa ediyoruz uygulaması için tekrar bu.

  1. sağ projeyi tıklatın: Bu hata olduğunu aldığımda yapmam ne

    . Android Araçları'nın üzerine gelin. "Destek kütüphane ekle ..."

  2. kütüphaneye indirilmesini kabul üzerindeki

  3. tıklayın.

Bu, iki şeyi garanti eder: a. destek kitaplığının en yeni sürümünü Google kaynaklarından alırsınız ve b. Tüm projelerinizde EXACT kütüphanesi var.

Mutlu kodlama!

+1

Tamam, destek kitaplığı her güncelleştirildiğinde her ikisini de (proyect ve FB kütüphane proyect'im) güncellemeliyim?B noktası, düşünmediğim bir şey. Teşekkürler! – nsemeniuk

+0

Günümü kurtardın! –

+0

saf zevk! – thepoosh

1

Sadece projenizdeki birini silin, sınıf yolundan kaldırın ve projenizi yeniden oluşturmayı deneyin.

+0

Fikir benim proyect içinde tutmaktır ... – nsemeniuk

1

Destek kitaplıklarının aynı sürümünün, en üstteki yanıtta belirtilen menüler aracılığıyla kurulması oldukça iyi bir çözümdür.

Bu bazen benim için çalışmadıysa da (Çalışma Alanım klasörünün Dropbox'la senkronize edilmesi gerektiğini düşünüyorum, bu yüzden Eclipse bazen dosyaların üzerine yazmaz) bu yüzden kullandığım yaklaşım desteği bağlamaktır merkezi yerden kütüphane. SDK yöneticisini çalıştırdığınızda güncelleştirilmekte olan SDK klasörünüzün içinde (C: \ Program Files (x86) \ Android \ android-sdk \ extras \ android \ gibi) bu JAR dosyaları bulunmaktadır. sadece hem Facebook'tan (hem de başka bir kütüphaneden) ve projelerinizden bahsedebilir. Sonunda, JAR dosyalarından gelen kod classes.dex ürününüze doldu. libs klasöründeki destek kitaplığına bile ihtiyacınız yoktur.

Ayrıca: Gradle yapı sistemini ve bağımlılık yönetimini kullanırsanız veya Maven kullanırsanız, bu tür sorunlara sahip olmazsınız, ancak bunların doğru şekilde ayarlanması için daha fazla zamana ve bilgiye gereksinim duyarlar.