it-swarm.com.ru

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:\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, создайте, импортируйте и добавьте снова. Я попытался скопировать jar поддержки в папке libs из одной библиотеки в другую. удалите jar поддержки в обеих библиотеках и добавьте его в проект 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
71
SKK

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

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

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

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

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

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

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

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

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

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

Как прикрепить javadoc или исходники к jar-файлам в папке libs?

49
pjco

Не включайте Android-support-v4 в библиотеку, вместо этого вы можете добавить его в свой проект в качестве внешнего jar-файла, используя меню пути сборки> add external jar  

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

54
Muhannad A.Alhariri

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

16
Pratik Butani

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

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

Также удалите Android-support-v4.jar из вашей второй библиотеки и попробуйте снова.

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

7
Raghunandan

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

Затем в Eclipse "проводнике пакетов" разверните основной проект и удалите Android-support-v4.jar из папки "libs" (как Пратик Бутанипредложил ). 

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

5
nettie
  1. Несоответствие JAR возникает, когда вы используете библиотечные проекты в своем приложении, и оба проекта используют один и тот же JAR с другой версией, поэтому просто проверьте все библиотечные проекты, прикрепленные в вашем приложении. если существует несоответствие, удалите его.

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

4
Gopal Sharma

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

А также используйте поддержку Android lib, это может помочь вам, а также обновите ваш пакет объявлений.

1
user4004473

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

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

1
waqaslam

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

0
Barbaros Erdogdu

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

0
user5999064