Неисправность Jar! Исправьте свои зависимости

Шаги для воспроизведения:

  • создать проект андроида "MyApp"
  • импортировать ActionBarSherlock (ABS), Directional ViewPager (DVP) или любую другую библиотеку с открытым исходным кодом, которая использует библиотеку поддержки Android.
  • Добавить библиотеки в проект "MyApp"

Журнал консоли:

[2013-04-17 14:27:12 - MyApp] Found 2 versions of android-support-v4.jar in the dependency list,
[2013-04-17 14:27:12 - MyApp] but not all the versions are identical (check is based on SHA-1 only at this time).
[2013-04-17 14:27:12 - MyApp] All versions of the libraries must be the same at this time.
[2013-04-17 14:27:12 - MyApp] Versions found are:
[2013-04-17 14:27:12 - MyApp] Path: C:\Users\santhosh\My_Workspace\DVP_library\libs\android-support-v4.jar
[2013-04-17 14:27:12 - MyApp]   Length: 140011
[2013-04-17 14:27:12 - MyApp]   SHA-1: fc834ac8147bc4ed0b555f90f500a57d4232c448
[2013-04-17 14:27:12 - MyApp] Path: C:\Users\santhosh\My_Workspace\abs_library\libs\android-support-v4.jar
[2013-04-17 14:27:12 - MyApp]   Length: 271754
[2013-04-17 14:27:12 - MyApp]   SHA-1: 53307dc2bd2b69fd5533458ee11885f55807de4b
[2013-04-17 14:27:12 - MyApp] Jar mismatch! Fix your dependencies

Я знаю, что я хочу удалить android-support-v4.jar из папки libs и сохранить только одну копию для всех. Но это не решает мою проблему.

Когда я пытаюсь удалить android-support-v4.jar из MyApp, он дает мне следующую ошибку.

 Problems encountered while deleting resources.
 Could not delete 'C:\Users\santhosh\My_Workspace\MyApp\libs\android-support-v4.jar'.

Когда я пытаюсь удалить android-support-v4.jar из ABS, он дает мне следующую ошибку

 ????? cannot be resolved to a type error.

Я попытался очистить проект, Исправить свойства проекта. Перезапустите eclipse, создайте, импортируйте и добавьте снова. Я попытался скопировать банку поддержки в папку libs из одной библиотеки в другую. удалите банку поддержки в обеих библиотеках и добавьте ее в проект MyApp. Ничто не сработало для меня.

, если я пытаюсь добавить одну библиотеку, она работает нормально. я столкнулся с проблемой при попытке добавить 2 или более библиотек в один проект.

Ошибка при добавлении двух библиотек в MyApp:

The project was not built since its build path is incomplete. 
Cannot find the class file for android.support.v4.app.FragmentActivity. 
Fix the build path then try building this project MyApp Unknown Java Problem
The type android.support.v4.app.FragmentActivity cannot be resolved. It is indirectly referenced from required .class files MyActivity.java/MyApp/src/com/santhosh/myapp    line 10 Java Problem
Jar mismatch! Fix your dependencies MyApp Unknown Android Dependency Problem

Ответ 1

Использовать библиотечный проект только для библиотеки поддержки

Как ADT 22, используя Eclipse Juno

Я не думаю, что любой из вышеперечисленных - действительно лучшие ответы. Я также не думаю, что рекомендуется использовать функцию external jar в Eclipse больше (AFAIK).

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

Затем используйте Android tools > Add Support Library, чтобы получить последнюю версию, в которой вы нуждаетесь или хотите.

Затем удалите байт поддержки lib из всех других проектов.

Наконец, для каждого требуемого проекта добавьте ссылку на новый проект библиотеки

(project properties) > Android > (Library box) > Add...

Тогда у всех ваших проектов будет один источник для использования и обновления библиотеки поддержки. Это также упрощает работу javadocs.

Информацию о настройке javadocs см.:

Как подключить javadoc или источники к банкам в папке libs?

Ответ 2

Не включайте поддержку android-support-v4 в библиотеку, вместо этого вы можете добавить ее в свой проект в качестве внешней банки с помощью меню пути сборки > добавить внешнюю банку

Иногда вам нужно очистить свой проект.

Ответ 3

Удалите файл android-support-v4.jar из папки libs из вашего проекта.

Ответ 4

В Actionbarsherlock есть библиотека поддержки. Вероятно, это вызывает конфликт, если библиотека поддержки также находится в вашем основном проекте.

Удалите android-support-v4.jar из каталога проектов.

Также удалите android-support-v4.jar из второй библиотеки, а затем повторите попытку.

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

Ответ 5

Я согласен с pjco. Лучший способ - официальный метод, описанный в Support Library Setup в учебнике по developer.android.com.

Затем в проводнике Eclipse " разверните свой основной проект и удалите android-support-v4.jar из " libs ". strong > (как Pratik Butani).

Это сработало для меня.

Ответ 6

  • Несоответствие Jar возникает, когда вы используете проекты библиотеки в своем приложении, и оба проекта используют одну и ту же банку с другой версией, поэтому просто проверяйте все проекты библиотек, прикрепленные в приложении. если существует некоторое несоответствие, удалите его.

  • Если вышеуказанный процесс не работает, просто удалите зависимость проекта от пути сборки и снова добавьте проекты библиотеки и создайте приложение.

Ответ 7

Я считаю, что вам нужен пакет поддержки как в библиотеке, так и в приложении. Однако, чтобы исправить это, убедитесь, что у вас есть тот же файл в обоих местах (такая же контрольная сумма).

Просто скопируйте файл пакета поддержки из одного места и скопируйте его в другое, затем очистите + обновите свою библиотеку/проект, и вам должно быть хорошо, чтобы идти.

Ответ 8

Я думаю, что вы создаете новое рабочее пространство и правильно импортируете весь проект с его lib, а также добавляете внешний jar android-support-v4.jar в пакет adb в дополнительных файлах sdk. Я думаю, что его работа для вас. Надеюсь, все лучшие

А также использовать поддержку поддержки android для поддержки Android, а также обновить пакет adt

Ответ 9

В моем случае в моей рабочей области был другой каталог, имеющий тот же файл jar, что и в моем проекте. Я не создал этот каталог или что-то в нем. Это было создано Eclipse, я верю. Я просто удалил этот каталог, и он просто работает нормально.

Ответ 10

Щелкните правой кнопкой мыши на своем проекте → Инструмент Android → Добавить библиотеку поддержки