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


воспроизведение:

  1. создать android проект "MyApp"
  2. импорт ActionBarSherlock (ABS), Directional ViewPager(DVP) или любой другой библиотеки с открытым исходным кодом, которые используют библиотеку поддержки android.
  3. добавить библиотеки в проект "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:UserssanthoshMy_WorkspaceDVP_librarylibsandroid-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:UserssanthoshMy_Workspaceabs_librarylibsandroid-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.баночка из приложение, это дает мне следующую ошибку.

 Problems encountered while deleting resources.
 Could not delete 'C:UserssanthoshMy_WorkspaceMyApplibsandroid-support-v4.jar'.

когда я пытаюсь удалить android-support-v4.баночка из АБС, это дает мне следующую ошибку

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

я попытался очистить проект, исправить свойства проекта. Перезапустите eclipse, создайте, импортируйте и добавьте снова. Я попытался скопировать поддержку jar в папке 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
10 71

10 ответов:

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

по состоянию на ADT 22, используя Eclipse Juno

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

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

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

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

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

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

тогда все ваши проекты будут иметь один источник для использования и обновления библиотеки поддержки. Это также облегчает документации, чтобы получить работу.

для получения информации о том, как настроить на javadocs смотрите:

Как подключить javadoc и исходники Jar в папку либс?

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

иногда вы должны очистить ваш проект.

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

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

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

Удалить android-support-v4.jar из второй библиотеки, а затем попробуйте снова.

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

Я согласен с pjco. Лучший способ-это официальный метод, описанный в Настройка Библиотеки Поддержки в учебнике по адресу developer.android.com.

тогда, в затмении "проводник пакетов", разверните свой основной проект и удалите android-поддержка-v4.банку С "libs" (как Butani Пратикпредложил).

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

  1. несоответствие Jar происходит, когда вы используете библиотечные проекты в своем приложении, и оба проекта используют один и тот же jar с другой версией, поэтому просто проверьте все библиотечные проекты, прикрепленные в вашем приложении. если какое-то несоответствие существует, то удалите его.

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

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

а также использовать поддержку Android lib это может помочь вам, а также обновить ADT bundle

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

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

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

щелкните правой кнопкой мыши на вашем проекте - > Android Tool - > добавить библиотеку поддержки