Jar Mismatch Bağımlılık listesinde android-support-v4.jar'ın 2 sürümü bulundu


130

Bir Android uygulamasının 2 sürümünü oluşturmaya çalışıyorum (ücretsiz / ücretli). Her ikisinde de ortak olan dosyaları içeren bir Android Kitaplığım var. Yeni bir Android projesi oluşturdum ve Kitaplığı kullanmaya çalışıyorum ancak aşağıdaki hatayı alıyorum:

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.
Versions found are:
Path: /Users/Zaheer/Developer/App Free/libs/android-support-v4.jar
    Length: 349252
    SHA-1: 612846c9857077a039b533718f72db3bc041d389
Path: /Users/Zaheer/Developer/App Library/libs/android-support-v4.jar
    Length: 337562
    SHA-1: 27c24d26e4c5d57976e6926367985548678e913c

Bunun nasıl çözüleceğine dair bir fikriniz var mı? Başarısızlık için inşa yolu ile oynuyordum.


Bu tür durumlarda işe yarayan çok basit bir çözüm buldum , aşağıdaki
cevabıma göz

Yanıtlar:


177

Bunun nasıl çözüleceğine dair bir fikriniz var mı?

Birini sil.

Başarısızlık için inşa yolu ile oynuyordum.

Adım 1: Tüm bunları geri alın. Eclipse için ADT eklentisinin R16 veya daha yüksek sürümünde derleme yolu ile uğraşıyorsanız, yanlış yapıyorsunuz demektir.

Adım # 2: JAR'ın bu iki sürümünden birini seçin veya SDK kurulumunuzun "ekstralar" alanından birini seçin.

Adım 3: Doğru JAR'ı yerleştirin App Library.

Adım # 4: Bir App FreeJAR'ı alacağı için birinden silin App Library.

Bunun yerine, her iki noktada da ( App Freeve App Library) aynı gerçek JAR dosyasına sahip olabilirsiniz , ancak bu sebepsiz yere fazladan yer kaplar.


1
@ Necronet: Hepsinin aynı JAR'ı kullanmasını sağlayın. Örneğin, en sonuncuyu bu projelerin her birine kopyalayın.
CommonsWare

@CommonsWare: Hangisinin en son olduğunu nasıl öğrenebilirim?
Mehul Joisar

2
@MehulJoisar: Bu, JAR'ın yazarlarına kalmış. Durumda android-support-v4.jar, en sonuncusu SDK kurulumunuzdaki olandır.
CommonsWare

5
@MehulJoisar: Buna cevap veremem. Genellikle android-support-v4.jarSDK'dan en son olanı alıp tüm kütüphane projelerine kopyalıyorum (ayrıca SDK'dan bir tane siliyorum).
CommonsWare

1
Az önce bu problemi yaşadım, ancak diğer (daha zor) Eclipse / Android problemlerinde olduğu gibi tamamen birdenbire ortaya çıktı. Bu cevap, etkiyi düzeltir, ancak görünüşe göre nedeni değil.
Joe Lapp

24
  1. Android-support-v4.jar dosyasını App Free'den silin
  2. Aynı dosyayı Uygulama Kitaplığından Uygulama Ücretsiz'e ekleyin

@Lee Chun Hoe, MAC OS'de bu yola nasıl gideceğimi söyleyebilir misin? Android-support-v4.jar dosyasını silmek istiyorum.
Rakesh

@Rakesh Eclipse Paket Gezgini'nde, projenizi libs klasörü altında genişletin, o android-support-v4.jar dosyasını silin.
Lee Chun Hoe

12

Yukarıdaki çözümler çoğunlukla sorunu çözer. bu çözümleri kullandıktan sonra sorun devam eder. Sonra

Proje klasörüne gidin -> libs-> ve "android-support-v4.jar" dosyasını silin

Benim problemimi çözerken probleminizi çözeceğini umuyorum.


11

Orada sahip birden kütüphane projeler var bazı senaryolar vardır android-support-v4.jaronların içinde libsve build yolları ve proje her ikisi doğru bir bağımlılık vardır. Mesela benim durumumda çalışma alanımda aşağıdaki kütüphane projeleri var,

  • libfacebook
  • libsherlockactionbar

Her iki proje de bağımsızdır ve project.propertiesaşağıdaki gibi görünüyorum,

# Project target.
target=android-17
android.library.reference.1=../libfacebook
android.library.reference.2=../libsherlockactionbar

Projemi oluşturduğumda, aynı dosyanın iki kopyasına yinelenen referanslar içeren bir kavanoz uyuşmazlığı sorunu yaşıyorum. Bu sorunu çözmek için yaptığım şey biraz hile. Çalışma alanımdaki ve dahil libcommonstüm diğer kitaplık projelerinin üst öğesi olarak adlandırılan yeni bir kitaplık projesi oluşturdum . Sonra diğer bütün projelerden destek kütüphane kaldırıldı ve yalnızca bir kopya içinde tutulması 'ın kütüphanelerini klasör. Daha sonra diğer tüm kütüphane projelerime referans olarak ekledim . Çalışma alanımı temizledikten sonra her şey bir cazibe gibi çalışıyor.libfacebooklibsherlockactionbarlibcommonslibcommons


8

Bu, dosyaları silmekten ve eklemekten daha zarif bir çözümdür!

Sadece yapmanız gerekenler:

  1. Proje Uygulamasına Sağ Tıklayın Ücretsiz
  2. "Android Araçları"> "Destek Kitaplığı Ekle" ye gidin
  3. İzinleri onaylayın ve kitaplığı güncellemesine izin verin
  4. Proje Uygulama Kitaplığı için bu işlemi tekrarlayın

Android Destek Kitaplığı daha sonra senkronize olacaktır (:


Teşekkürler - bu benim Sorunumu çözdü. BaseGameUtils eklemek zorunda kaldım ve bu hatayı aldım :)
neowhoru

@neowhoru, sorun değil! Paylaşmaktan
mutluluk duyuyoruz

1
yardımcı olmasına sevindim @MuhammedRefaat! (:
cokeby190

7

ÇOK BASİT ÇÖZÜM

Benim durumum için çok basit bir çözüm çalıştı, sadece aynı (android-support-v4.jar) jar dosyasını tüm projelere kopyalayın. Artık çatışma olmayacak.

1 Herhangi bir projenin libs klasöründen android-support-v4.jar jar dosyasını kopyalayın.

2 Android-support-v4.jar jar dosyasını ikinci projenin mevcut olan libs klasöründen silin.

3 İlk projenin yeni kopyalanan jar dosyasını ikinci projenin libs klasörüne yapıştırın.

Jar uyuşmazlığı sorunu şimdiye kadar çözülecektir.


5

Kütüphaneyi projelerden birinden diğerine kopyalamanız yeterlidir. Belki de zaman damgasının her ikisinde de aynı olması gerekir.


4

Çözüm:

  1. 'Ücretsiz' proje> Android Araçları> Destek Kitaplığı Ekle'ye sağ tıklayın.
  2. Aynı şeyi 'ücretli' projede yapın.
  3. Tüm projeleri temizleyin

2

Sizin için açık alakasız projeler olup olmadığını kontrol edin, çünkü benim için durum buydu, JAR dosyalarından biri üzerinde çalışmadığım farklı bir projeyle ilgili görünüyordu, bu yüzden o projeyi kapattım, temiz bir üzerinde çalıştığım projenin inşa edilmesi ve artık sorun yaşamadım! Umarım bu birine yardımcı olur!


1

Hem kitaplığa hem de projeye harici kavanozlar eklerken aynı kavanozu kullanın


1

iyi .. benim için çalışıyor:

Git

Proje klasörü> libs

ardından "android-support-v4.jar" dosyasını silin

Sonra

proje> Temizle

Çalışacak!


1

Sadece bu sorunu vardı, ama bunun yerine silinmesinin çelişkili android-destek-v4.jar Ben onu değiştirildi android-destek-v4_PROJECT.jar çatışma kaldırıldı.

Eclipse'de bir dosyayı nasıl yeniden adlandıracağınızı merak ediyorsanız, dosyayı vurgulayıp F2'ye basmanız yeterlidir.


0

Projelerinizin her birinde tam olarak aynı android-support-v4.jar sağlama toplamına sahip olmanız yeterlidir. Bunun için, çakışan tüm projelerinizde / kitaplığınızda bunlardan birini kopyalayabilir / yapıştırabilirsiniz.

Yapacak, temizleyecek ve tadını çıkaracak başka bir şey yok :)


0

Aynı anda 2 proje açıyor olabilirsiniz (her ikisi de android-support-v4.jar kullanarak). I close 1 project and every thing ok

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.