Jar Mismatch Нашел 2 версии android-support-v4.jar в списке зависимостей

Я пытаюсь создать 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

Любые идеи о том, как разрешить это? Я играю со способом построения без успеха.

Ответ 1

Любые идеи о том, как разрешить это?

Удалить.

Я играл со строкой сборки без успеха.

Шаг №1: Отменить все это. Если вы входите в путь сборки, на R16 или более поздней версии плагина ADT для Eclipse, вы делаете это неправильно.

Шаг № 2: выберите одну из этих двух версий JAR или выберите один из области "Дополнительные параметры" вашей установки SDK.

Шаг # 3: Поместите правый JAR в App Library.

Шаг №4: Удалите один из App Free, так как он подберет этот JAR из App Library.

Вместо этого вы можете использовать один и тот же фактический JAR файл в обоих местах (App Free и App Library), хотя это просто занимает дополнительное пространство без каких-либо причин.

Ответ 2

  • Удалить android-support-v4.jar из App Free.
  • Добавьте тот же файл из библиотеки приложений в приложение бесплатно

Ответ 3

Выше решения в основном решают проблему. после использования этих решений и проблемы сохраняется. Тогда

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

Надеясь, что это решит вашу проблему, поскольку она решит мою проблему.

Ответ 4

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

  • libfacebook
  • libsherlockactionbar

Оба эти проекта независимы, а мой project.properties выглядит следующим образом:

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

Когда я создаю свой проект, у меня возникает проблема несоответствия jar, в которой дублируются ссылки на две копии одного и того же файла. То, что я сделал для решения этой проблемы, - это немного обман. Я создал новый проект библиотеки с именем libcommons как родительский для всех других проектов библиотеки в моей рабочей области, включая libfacebook и libsherlockactionbar. Затем я удалил библиотеку поддержки из всех других проектов и сохранил только одну копию внутри папки libcommons libs. Затем я добавил libcommons в качестве ссылки на все мои другие проекты библиотеки. После очистки моего рабочего пространства все работает как шарм.

Ответ 5

Это более элегантное решение, чем удаление и добавление файлов!

Вам просто нужно:

  • Щелкните правой кнопкой мыши проект App Free.
  • Перейдите в "Инструменты Android" > "Добавить библиотеку поддержки"
  • Утвердить разрешения и обновить библиотеку
  • Повторите этот процесс для библиотеки приложений проекта

Библиотека поддержки Android будет синхронизироваться (:

Ответ 6

ОЧЕНЬ ПРОСТОЕ РЕШЕНИЕ

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

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

2 Удалите файл jar android-support-v4.jar из уже существующей папки с уже существующими файлами.

3 Вставьте вновь скопированный файл jar файла первого проекта в папку libs второго проекта.

Проблема несоответствия jar будет решена к настоящему времени.

Ответ 7

Просто скопируйте библиотеку из одного из проектов в другой. Возможно, временная метка должна быть одинаковой для обоих.

Ответ 8

Разрешение:

  • Щелкните правой кнопкой мыши на "бесплатный" проект > Инструменты Android > Добавить библиотеку поддержки.
  • Сделайте то же самое в проекте "заплатил".
  • Очистить все проекты

Ответ 9

Проверьте, открыты ли для вас нерелевантные проекты, потому что это было для меня, казалось, что один из файлов JAR был связан с другим проектом, с которым я не работал, поэтому я просто закрыл этот проект, сделал чистую сборку проекта, над которым я работаю, и больше не имел проблемы! Надеюсь, это поможет кому-то!

Ответ 10

Используйте ту же самую банку, добавляя внешние банки как в библиотеке, так и в проекте

Ответ 11

хорошо.. он работает для меня:

Перейдите к

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

затем удалите "android-support-v4.jar"

Тогда

project > Очистить

Это сработает!

Ответ 12

У меня была эта проблема, но вместо удаления конфликтующей android-support-v4.jar я просто переименовал ее в android-support-v4_PROJECT.jar, что удалил конфликт.

Если вам интересно, как переименовать файл в Eclipse, вам просто нужно выделить файл и нажать F2.

Ответ 13

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

Больше ничего не делать, чистить и наслаждаться:)

Ответ 14

Возможно, вы откроете 2 проекта одновременно (оба с поддержкой android-support-v4.jar). I close 1 project and every thing ok