android-support-v4.jar ошибка зависимости

#android #eclipse #android-support-library

#Android #eclipse #android-поддержка-библиотека

Вопрос:

Я только что создал новый пустой проект Android с minsdk как 2.2 в последней версии Eclipse Luna.Eclipse автоматически добавила android-support--v4.jar в папку libs проекта. Это вызывает ошибку в консоли :

 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: /home/faizal/DEV/ADT workspace/myNewProject/libs/android-support-v4.jar
    Length: 758727
    SHA-1: efec67655f6db90757faa37201efcee2a9ec3507
Path: /home/faizal/DEV/ADT workspace/appcompat_v7/libs/android-support-v4.jar
    Length: 648327
    SHA-1: ded9acc6a9792b8f1afc470f0c9cd36d178914cd
Jar mismatch! Fix your dependencies
  

Это потому, что у меня также есть проект библиотеки поддержки appcompat_v7, который я использую для другого проекта и который был создан более старым Eclipse (я думаю, это был Juno..it была частью пакета ADT).

Я знаю, что решение состоит в том, чтобы удалить один из jar, но какой именно и почему?

Ответ №1:

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

  1. Щелкните правой кнопкой мыши проект myNewProject
  2. Перейдите в «Инструменты Android»> «Добавить библиотеку поддержки»
  3. Подтвердите разрешения и разрешите ему обновлять библиотеку
  4. Повторите этот процесс для проекта appcompat_v7

После этого библиотека поддержки Android будет синхронизирована (:

Комментарии:

1. Это сработало. Я предполагаю, что произошло то, что у appcompat_v7 проекта была более старая версия библиотеки поддержки v4. Думаю, я мог бы выполнить «Добавить библиотеку поддержки» только для appcompat_v7 , и это сработало бы.

2. Рад, что это помогает! (: В следующий раз, когда вы получите подобную ошибку, вы можете попробовать это исправить

3. Я предполагаю, что sdk manager будет обновлено sdk/extras/android/support/v7/appcompat/libs/android-support-v4.jar с помощью последней версии, которая затем будет импортирована любыми новыми проектами. Но уже существующие проекты по-прежнему будут иметь более старую библиотеку. И это вызвало бы ошибку.

4. Да, когда библиотека Android не соответствует, это вызовет эту ошибку. Если это по какой-либо причине не сработает в будущем, вы также можете удалить файл jar библиотеки Android-поддержки и скопировать файл appcompat android-поддержки jar в существующие проекты. Но это исправление более элегантное, чем удаление и копирование, очевидно. ха-ха.

5. При тестировании я удалил appcompat_v7 из списка проектов, поэтому я не смог его обновить. Если вы это сделаете, просто выберите меню «Файл / Импорт …», затем «Общие / Существующие проекты в Workspace», затем выберите ваш appcompat_v7 внутри вашего workspace, и он снова появится. Конечно, вам не следовало удалять содержимое с диска при удалении проекта, иначе его не будет там, чтобы спасти его 😉

Ответ №2:

Вы импортируете библиотеку appcompat_v7, которая также имеет android-support—v4.jar, но другого размера. Просто скопируйте android-support—v4.jar из библиотеки вашего проекта в папку appcompat_v7. Пути к папкам указаны в вашем сообщении, просто для информации.

Комментарии:

1. Но я никогда не импортировал appcompat_v7 для своего нового проекта. Он автоматически попал в Android Dependencies папку моего нового проекта. Есть какие-нибудь идеи, почему?

2. Вероятно, потому, что вы выбираете старый SDK в качестве minsdk. Возможно, этот мастер немного не работает, но то, что я только что написал, решит эту проблему. библиотека appcompat_v7 позволяет создавать панель действий на старых SDK, если я не ошибаюсь, так что вы, вероятно, захотите ее иметь.

Ответ №3:

  1. Щелкните правой кнопкой мыши демопроект проекта
  2. Перейдите в «Инструменты Android»> «Добавить библиотеку поддержки»
  3. Подтвердите разрешения и разрешите ему обновлять библиотеку
  4. Повторите этот процесс для проекта appcompat_v7 (или любой библиотеки

Ответ №4:

  1. Посмотрите на пути расхождений
  2. Удалите файл в папке project > libs
  3. Скопируйте ее из папки библиотек appcompat в папку библиотек проекта
  4. Закройте и снова откройте Eclipse
  5. Очистить проект