Jar Mismatch Ditemukan 2 versi android-support-v4.jar di daftar ketergantungan

130

Saya mencoba membuat 2 versi aplikasi Android (gratis / berbayar). Saya memiliki Perpustakaan Android yang berisi file-file yang umum untuk keduanya. Saya membuat proyek Android baru dan saya mencoba menggunakan Perpustakaan tetapi mendapatkan kesalahan di bawah ini:

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

Ada ide tentang cara mengatasinya? Saya telah bermain dengan membangun jalan untuk tidak berhasil.

Zaheer
sumber
Saya telah menemukan solusi yang sangat sederhana yang berfungsi dalam situasi seperti itu, lihat jawaban saya di bawah ini
gprathour

Jawaban:

177

Ada ide tentang cara mengatasinya?

Hapus satu.

Saya telah bermain dengan membangun jalan untuk tidak berhasil.

Langkah # 1: Batalkan semua itu. Jika Anda mengacaukan path build, pada R16 atau versi yang lebih tinggi dari plugin ADT untuk Eclipse, Anda salah melakukannya.

Langkah # 2: Pilih salah satu dari dua versi JAR, atau pilih satu dari area "ekstra" dari instalasi SDK Anda.

Langkah # 3: Masukkan JAR kanan ke dalam App Library.

Langkah # 4: Hapus satu dari App Free, karena itu akan mengambil JAR itu dari App Library.

Anda dipersilakan sebagai gantinya memiliki file JAR aktual yang sama di kedua tempat ( App Freedan App Library), meskipun itu hanya membutuhkan ruang ekstra tanpa alasan.

CommonsWare
sumber
1
@Necronet: Apakah semuanya menggunakan JAR yang sama. Misalnya, salin yang terbaru ke masing-masing proyek tersebut.
CommonsWare
@CommonsWare: bagaimana cara mengetahui mana yang terbaru?
Mehul Joisar
2
@MehulJoisar: Terserah penulis JAR. Dalam hal ini android-support-v4.jar, yang terbaru adalah yang ada di instalasi SDK Anda.
CommonsWare
5
@MehulJoisar: Saya tidak bisa menjawabnya. Saya biasanya mengambil yang terbaru android-support-v4.jardari SDK dan menyalinnya ke semua proyek perpustakaan (ditambah menghapus satu dari SDK).
CommonsWare
1
Saya baru saja mengalami masalah ini, tetapi sepertinya benar-benar keluar dari masalah, seperti beberapa masalah Eclipse / Android lainnya (yang lebih sulit). Jawaban ini memperbaiki efeknya tetapi tampaknya bukan penyebabnya.
Joe Lapp
24
  1. Hapus android-support-v4.jar dari App Free
  2. Tambahkan file yang sama dari Perpustakaan Aplikasi ke Aplikasi Gratis
Lee Chun Hoe
sumber
@Lee Chun Hoe dapatkah Anda memberi tahu saya cara menuju ke jalur ini di MAC OS. Saya ingin menghapus android-support-v4.jar.
Rakesh
@Rakesh Di Eclipse Package Explorer, rentangkan proyek Anda, di bawah folder libs, hapus file android-support-v4.jar itu.
Lee Chun Hoe
12

Solusi di atas sebagian besar memecahkan masalah. setelah menggunakan solusi dan masalah ini masih ada. Kemudian

PERGI ke folder proyek -> libs-> dan hapus "android-support-v4.jar"

Berharap itu akan menyelesaikan masalah Anda karena itu memecahkan masalah saya.

Nauman Khalid
sumber
11

Ada beberapa skenario di mana Anda memiliki beberapa proyek perpustakaan yang memiliki jalur android-support-v4.jarmereka libsdan membangun dan proyek Anda memiliki ketergantungan terhadap keduanya. Katakan misalnya dalam kasus saya, saya memiliki proyek perpustakaan berikut di ruang kerja saya,

  • libfacebook
  • libsherlockactionbar

Kedua proyek ini independen dan project.propertiespenampilan saya seperti berikut,

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

Ketika saya membangun proyek saya, saya mendapatkan masalah ketidakcocokan jar memiliki referensi duplikat ke dua salinan dari file yang sama. Apa yang saya lakukan untuk mengatasi masalah ini adalah sedikit tipu daya. Saya membuat proyek perpustakaan baru bernama libcommonssebagai induk untuk semua proyek perpustakaan lainnya di ruang kerja saya, termasuk libfacebookdan libsherlockactionbar. Kemudian saya dihapus perpustakaan dukungan dari semua proyek lainnya dan terus hanya satu salinan dalam libcommons's libs folder. Kemudian saya telah menambahkan libcommonssebagai referensi untuk semua proyek perpustakaan saya yang lain . Setelah membersihkan ruang kerja saya, semuanya bekerja seperti pesona.

Subin Sebastian
sumber
8

Ini adalah perbaikan yang lebih elegan daripada menghapus dan menambahkan file!

Anda hanya perlu:

  1. Klik kanan App proyek Gratis
  2. Buka "Alat Android"> "Tambahkan Perpustakaan Dukungan"
  3. Setujui izin dan biarkan memperbarui perpustakaan
  4. Ulangi proses ini untuk Pustaka Aplikasi proyek

Perpustakaan Dukungan Android kemudian akan disinkronkan (:

cokeby190
sumber
Terima kasih - ini menyelesaikan Masalah saya. Saya harus menambahkan BaseGameUtils dan mendapatkan kesalahan ini :)
neowhoru
@neowhoru, tidak masalah! Senang berbagi! ~
cokeby190
1
senang itu membantu @MuhammedRefaat! (:
cokeby190
7

SOLUSI SANGAT SEDERHANA

Solusi yang sangat sederhana berhasil untuk kasus saya, cukup salin file jar yang sama (android-support-v4.jar) ke semua proyek. Tidak akan ada lagi konflik.

1 Salin file jar android-support-v4.jar dari folder libs dari salah satu proyek.

2 Hapus file jar android-support-v4.jar dari folder libs proyek kedua yang sudah ada.

3 Tempel file jar yang baru disalin dari proyek pertama ke folder libs proyek kedua.

Masalah ketidakcocokan tabung akan diselesaikan sekarang.

gprathour
sumber
5

Cukup salin perpustakaan dari salah satu proyek ke yang lain. Mungkin cap waktu harus sama pada keduanya.

Rafael Sanches
sumber
4

Resolusi:

  1. Klik kanan pada proyek 'gratis'> Alat Android> Tambahkan Perpustakaan Dukungan.
  2. Lakukan hal yang sama pada proyek 'berbayar'.
  3. Bersihkan semua proyek
strawberrywine
sumber
2

Periksa apakah ada proyek yang tidak relevan yang terbuka untuk Anda, karena itu yang terjadi pada saya, sepertinya salah satu file JAR terkait dengan proyek yang berbeda, yang tidak saya kerjakan, jadi saya baru saja menutup proyek itu, melakukan pembersihan membangun proyek yang sedang saya kerjakan dan tidak memiliki masalah lagi! Semoga ini bisa membantu seseorang!

Arturas M
sumber
1

Gunakan tabung yang sama sambil menambahkan botol eksternal di perpustakaan dan proyek

Pratik Kanade
sumber
1

baik .. itu bekerja untuk saya:

Pergi ke

Folder proyek> libs

lalu, hapus "android-support-v4.jar"

Kemudian

proyek> Bersih

Itu akan berhasil!

Erick Guerrero
sumber
1

Saya baru saja mengalami masalah ini, tetapi alih-alih menghapus android-support-v4.jar yang saling bertentangan, saya hanya menamainya menjadi android-support-v4_PROJECT.jar , yang menghilangkan konflik.

Jika Anda bertanya-tanya bagaimana cara mengganti nama file di Eclipse, Anda hanya perlu menyorot file dan tekan F2.

eBehbahani
sumber
0

Anda hanya perlu memiliki checksum android-support-v4.jar yang persis sama di setiap proyek Anda. Untuk ini, Anda dapat menyalin / melewati salah satunya di semua proyek / perpustakaan Anda yang bertentangan.

Tidak ada lagi yang harus dilakukan, bersihkan dan nikmati :)

tryp
sumber
0

Mungkin Anda membuka 2 proyek bersamaan (keduanya menggunakan android-support-v4.jar). I close 1 project and every thing ok

Serigala abu-abu
sumber