Intereting Posts
Как читать текстовый файл из каталога «assets» в виде строки? Android – Изменение компиляцииSdkVersion приводит к ошибкам Предотвращение отклонения ProgressDialog при нажатии кнопки поиска (Android) Как изменить имя файла apk в android Как настроить пользовательские значки маркеров для Android Google Maps v2? Метод managedQuery (Uri, String , String, String , String) из типа Activity устарел Почему LogCat показывает все элементы как предупреждения (оранжевые)? Дата окончания форматирования в формате mm / yy Библиотека Пикассо – вне памяти Считать общее количество элементов списка в ListView Разница между кликами и сенсорными прослушивателями в Android Выберите подмножество символов во многих строках (выбор столбцов) в Eclipse / Android Studio Facebook как кнопка реализации в Android FloatingActionButton расширяется в новую деятельность Как общаться между приложениями в владельце профиля и устройством в android lollipop?

Архив для требуемой библиотеки не может быть прочитан или не является допустимым ZIP-файлом

Прежде чем приступить к проблеме, позвольте мне объяснить, что я сделал, что привело меня в проблему.

  1. Я создал учетную запись на github и создал репозиторий с именем Android.
  2. Затем я установил клиент github в свои окна 7.
  3. Затем я открыл этот клиент, предоставил мою аутентификацию и клонировал репозиторий в локальный каталог C:\Users\Aniket\Documents\GitHub\Android (в этой папке есть папка .git ).
  4. Затем я пошел в свой Eclipse ADT и установил плагин EGit, как описано здесь . Как и я
  5. Затем в Eclipse я правой кнопкой мыши на проекте TicTacToe перейдите в Team->Share Project и Team->Share Project мой путь к репозиторию, то есть C:\Users\Aniket\Documents\GitHub\Android .
  6. Мой проект был добавлен в локальный репозиторий, а в моем клиенте github он показывает мне все возможности для фиксации файла в реальном репозитории на сайте github.
  7. Но мой проект внезапно показывает ошибку с красным «!» Подписать его.

    Описание -> Архив необходимой библиотеки: «C: / Users / Aniket / AndroidWorkspace / TicTacToe /libs/android-support-v4.jar» в проекте «TicTacToe» не может быть прочитан или не является допустимым ZIP-файлом

    Ресурс -> TicTacToe

    Местоположение пути -> путь сборки

    Тип -> Ошибка пути сборки

Примечание. Ошибка – это одна строка, отображаемая в консоли ошибок на Eclipse. Я просто разделил его на читаемость.

Даже после отсоединения репозитория он показывает эту ошибку.

Кто-нибудь сталкивался с этим сценарием раньше. Какое решение или обходное решение? Я googled, и первые несколько ссылок показывают, что это ошибка Eclipse. Пожалуйста, предложите, что можно сделать, чтобы вернуть проект в исполняемое состояние?

Это может быть ошибка Eclipse. Я столкнулся с подобной проблемой несколько раз. Закрытие и повторное открытие проектных работ. Если он не работает, попробуйте перезапустить Eclipse.

Я видел ту же проблему. Я удалил этот файл jar, а затем rightclick в проекте, выберите maven и выполните «update project …». Банку снова загрузили, и проблема исчезла.

Существует другой случай для отображения архива ошибок для требуемой библиотеки

Щелкните правой кнопкой мыши на проекте и откройте -> свойства проекта проекта -> путь сборки Java -> личные личные папки Android

Если есть два файла jar с таким же именем, то удалите их из libs.

Jar-файл может скрываться несколько раз, а затем открывать папку libs в окне и проверять, существуют ли какие-либо скрытые файлы. Упорядочить -> папки и параметры поиска -> просмотр -> проверить скрытые файлы и удалить скрытый файл jar , Cass delete, если скрытые java fies существуют в src и пакетах, если они есть

Похоже, у каждого есть своя история! Для меня мне пришлось удалить ошибку с вкладки Markers Marks, а затем снова очистить проект. До этого я закрыл и повторно открыл проект / затмение несколько раз, как было предложено @rachit, что не помогло мне.

В моем случае я загрузил проект из Интернета, после распаковки проекта некоторые файлы были заблокированы, просто разблокировали файлы и повторили попытку, затем проблема была решена.

В моем случае я попробовал все советы, но ошибка осталась. Я решил изменить версию с более поздним и написал это в pom.xml. После этого все в порядке.

В моем случае перезагрузка Eclipse не решила проблему. Я перезапустил компьютер и сделал Project -> Clean in eclipse

Я столкнулся с такой же проблемой на Eclipse Mars. Я загрузил банки из [ https://oss.jfrog.org/webapp/#/artifacts/browse/tree/General/repo/org/ethereum/ethereumj-core/1.0.0-SNAPSHOT%5D%5B1%5D и заменил его В каталоге.

Я получил ошибку при добавлении ethereum.jar, используя pom.xml в C: \ Users {machineName} .m2 \ repository \ org \ ethereum \ ethereumj-core \ 1.0.0-SNAPSHOT \ ethereum-core-1.0.0-SNAPSHOT.jar , Я добавил загруженный jar (ethereum-core-1.0.0-SNAPSHOT.jar) здесь, и проблема была решена.

Я не нашел дубликатов в любом месте и попытался перезапустить eclipse, перестроить проект. Я получал ошибку только для одной библиотеки. Поэтому я просто попытался переименовать файл jar из ksoap2-android-assembly-2.5.8-jar-with-dependencies.jar в ksoap2-2.5.8.jar

Поэтому, если ни одна из проблем не решена сверху, вы также можете попробовать эту

Решение, которое сработало для меня: перейдите в *.classpath и удалите строку: <classpathentry kind="lib" path="the_problematic_class.java"/>

Возможно также из-за поврежденных файлов jar. Лучше сначала проверить это, так как это было в моем случае:

  jar tf myjar.jar 

Должен перечислить содержимое внутри.

В моем случае установка java была неправильной. Итак, я удалил Java и переустановил новую версию. Теперь это работает.

Для нас проблема представляла собой размер файла .jar. Я бы рекомендовал сделать следующий тест, чтобы убедиться, что это так или, по крайней мере, это исключает. Сначала взгляните на другие банки в своем проекте Eclipse и сравните их с проблемным банком. Это намного больше, чем другие? Если да, попробуйте следующее обходное решение. Иначе этот ответ, вероятно, вам не поможет. Перед запуском настройте Windows для обработки файлов .jar как .zip-файлов с помощью следующей команды командной строки:

assoc .jar=CompressedFolder (см. https://superuser.com/questions/121540/can-you-configure-windows-to-open-jar-files-like-zip-files-without-a-3rd-party-t )

Дополнительно: простой тест

Перед тем как попробовать обходной путь, вот тест, чтобы увидеть, действительно ли это размер файла jar, который вас отключает.

  1. Создайте большой .jar, полный случайных файлов .class, которые не находятся в вашей проблемной банке. Вы можете сделать это, создав папку с файлами, закрепив ее и переименовав расширение .zip в .jar. Windows может предупредить вас об изменении расширения. Игнорируйте это. Удостоверьтесь, что у вас достаточно файлов в папке, чтобы она была немного больше, чем проблема.
  2. Попробуйте импортировать эту искусственно созданную банку. Если он не с той же ошибкой, то размер, вероятно, является проблемой.

Обходной путь

Если это действительно размер, это проблема, которую вы могли бы идентифицировать, выполнив необязательный простой тест выше, вы можете попробовать следующее обходное решение.

  1. Декомпрессируйте файл .jar. Вы должны сделать это легко в Windows
  2. Разделите папку, которую вы получаете с шага 1, на более мелкие подпапки. Это может быть только две папки или более, в зависимости от того, насколько большой оригинал. Вы хотите, чтобы папки были меньше, чем некоторые из ваших существующих «хороших» банок, поэтому размер не будет проблемой. Убедитесь, что структура пакета не повреждена, когда вы это делаете.
  3. Замените все папки, созданные на шаге 2, и переименуйте .zip в .jar.
  4. Импортируйте все .jars с шага 3 отдельно.

Шаги могут быть немного неясными, вот пример. Представьте, что ваш файл jar был вызван mylib.jar. Вы разархивируете это в папку под названием mylib. Внутри, скажем, есть три подпапки, называемые package1, package2 и package3. Создайте 3 папки с именем mylib1, mylib2 и mylib3 и поместите в пакет1, package2 и package3 соответственно. Затем закрепите их и переименуйте расширение в .jar. Затем вы будете импортировать mylib1.jar, mylib2.jar и mylib3.jar.