Jar Mismatch Знайдено 2 версії android-support-v4.jar у списку залежностей


130

Я намагаюся створити 2 версії програми для Android (безкоштовно / платно). У мене є бібліотека Android, яка містить файли, спільні для обох. Я створив новий проект Android і намагаюся використовувати Бібліотеку, але отримую помилку нижче:

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

Будь-які ідеї, як вирішити це? Я грав зі шляху нарощування, не маючи успіху.


Я знайшов дуже просте рішення, яке працює в таких ситуаціях, перегляньте мою відповідь нижче
gprathour

Відповіді:


177

Будь-які ідеї, як вирішити це?

Видаліть один.

Я грав зі шляху нарощування, не маючи успіху.

Крок №1: Скасуйте все це. Якщо ви плутаєте шлях зі збіркою, на R16 або вище версії плагіна ADT для Eclipse ви робите неправильно.

Крок №2: Виберіть одну з цих двох версій JAR або виберіть її з області "додаткові" інсталяції SDK.

Крок №3: Поставте правильний JAR App Library.

Крок №4: Видаліть той App Free, з якого він підбере цей JAR App Library.

Замість цього ви можете мати однаковий фактичний файл JAR в обох місцях ( App Freeі App Library), хоча це просто займає додаткове місце без жодної причини.


1
@Necronet: усі повинні використовувати один і той же JAR. Наприклад, скопіюйте останню у кожен із цих проектів.
CommonsWare

@CommonsWare: як дізнатися, який із них останній?
Мехул Джойсар

2
@MehulJoisar: Це залежить від авторів програми JAR. У випадку з android-support-v4.jarнайновішим - встановлення у вашій SDK-інсталяції.
CommonsWare

5
@MehulJoisar: Я не можу відповісти на це. Зазвичай я беру останню інформацію android-support-v4.jarз SDK і копіюю її у всі бібліотечні проекти (плюс видалити з SDK).
CommonsWare

1
У мене просто була ця проблема, але вона, здавалося, вийшла повністю з глузду, як це стосується декількох інших (більш складних) проблем Eclipse / Android. Ця відповідь фіксує ефект, але, мабуть, не причину.
Джо Лапп

24
  1. Видаліть android-support-v4.jar з App Free
  2. Додайте той самий файл із бібліотеки додатків до App Free

@Lee Chun Hoe, чи можете ви сказати мені, як пройти цей шлях в ОС MAC. Я хочу видалити android-support-v4.jar.
Ракеш

@Rakesh У Провіднику пакунків Eclipse розгорніть проект у папці libs, видаліть файл android-support-v4.jar.
Лі Чун Хой

12

Вищезазначені рішення здебільшого вирішують проблему. після використання цих рішень проблема не зникає. Тоді

Перейдіть до папки проекту -> libs-> та видаліть "android-support-v4.jar"

Сподіваючись, що це вирішить вашу проблему, як і мою проблему.


11

Існує декілька сценаріїв, коли у вас є кілька бібліотечних проектів, які мають android-support-v4.jarв своєму розпорядженні libsшляхи побудови та побудови, і ваш проект залежить від обох. Скажімо, наприклад, що в моєму робочому просторі у мене є такі бібліотечні проекти,

  • libfacebook
  • лібшерлокакція

Обидва ці проекти незалежні, і моє project.propertiesвиглядає наступним чином,

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

Коли я будую свій проект, у мене виникає проблема невідповідності jar із дублюючими посиланнями на дві копії одного файлу. Що я зробив для вирішення цього питання - це трохи хитрість. Я створив новий проект бібліотеки, названий libcommonsбатьківським для всіх інших бібліотечних проектів у моєму робочому просторі, включаючи libfacebookта libsherlockactionbar. Потім я видалив бібліотеку підтримки з боку всіх інших проектів і зберігається тільки одна копія всередині libcommons«сек ЛІЕС папку. Потім я додав libcommonsяк посилання на всі інші мої бібліотечні проекти. Очистивши мою робочу область, все працює як шарм.


8

Це більш елегантне виправлення, ніж видалення та додавання файлів!

Вам просто потрібно:

  1. Клацніть правою кнопкою миші проект App Free
  2. Перейдіть до "Інструменти Android"> "Додати бібліотеку підтримки"
  3. Затвердити дозволи та дозволити оновити бібліотеку
  4. Повторіть цей процес для проекту Бібліотека додатків

Потім бібліотека підтримки Android синхронізується (:


Дякую - це вирішило мою проблему. Мені довелося додати BaseGameUtils, і я отримав цю помилку :)
neowhoru

@neowhoru, жодних проблем! Радий поділитися! ~
cokeby190

1
рада, що це допомогло @MuhammedRefaat! (:
cokeby190

7

ДУЖЕ ПРОСТЕ РІШЕННЯ

Дуже просте рішення працювало в моєму випадку, просто скопіюйте один і той же файл (android-support-v4.jar) jar у всі проекти. Більше не буде конфлікту.

1 Скопіюйте файл jar android-support-v4.jar з папки libs будь-якого проекту.

2 Видаліть файл jar з android-support-v4.jar з папки libs другого проекту, яка вже існує.

3 Вставте щойно скопійований файл jar першого проекту в папку libs другого проекту.

Проблема невідповідності банку буде вирішена вже зараз.


5

Просто скопіюйте бібліотеку з одного з проектів на інший. Можливо, мітка часу повинна бути однаковою для обох.


4

Роздільна здатність:

  1. Клацніть правою кнопкою миші проект "безкоштовно"> Інструменти Android> Додати бібліотеку підтримки.
  2. Зробіть те ж саме на проекті, що сплачується.
  3. Очистіть усі проекти

2

Перевірте, чи є для вас відкриті нерелевантні проекти, тому що це було для мене, здавалося, один з файлів JAR був пов'язаний з іншим проектом, з яким я не працював, тому я просто закрив цей проект, зробив чисте побудувати проект, над яким я працюю, і у мене більше не було проблеми! Сподіваюся, це допоможе комусь!



1

добре .. це працює для мене:

Йти до

Папка проекту> libs

потім видаліть "android-support-v4.jar"

Тоді

проект> Очистити

Це спрацює!


1

У мене просто виникла ця проблема, але замість видалення конфліктуючого android-support-v4.jar я просто перейменував її на android-support-v4_PROJECT.jar , який усунув конфлікт.

Якщо вам цікаво, як перейменувати файл у Eclipse, вам просто потрібно виділити файл і натиснути F2.


0

Вам просто потрібно мати точно таку ж контрольну суму android-support-v4.jar для кожного з ваших проектів. Для цього ви можете скопіювати / пропустити один із них у всіх своїх конфліктуючих проектах / бібліотеці.

Більше нічого робити, чистити і насолоджуватися :)


0

Можливо, ви відкриєте 2 проекти одночасно (і за допомогою android-support-v4.jar). I close 1 project and every thing ok

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.