Я получаю java.util.zip.ZipException
при подготовке проекта NativeScript для Android (tns prepare android
):
Failed to build plugin nativescript-barcodescanner :
Error: Command ./gradlew failed with exit code 1 Error output:
Exception in thread "main" java.util.zip.ZipException: zip END header not found
Эта ошибка возникает только в том случае, если некоторые плагины (nativescript-barcodescanner
и nativescript-socket.io
)) установлены.Если я пытаюсь собрать без этих плагинов, сборка работает правильно.Так что, вероятно, это не проблема самого Gradle (как, например, этот ответ ).
Первое вхождение
Впервые я столкнулся с проблемой с nativescript-barcodescanner
после обновления NativeScript изверсия 3.2.0
до 4.2.4
и последующее обновление пакетов моего проекта.До обновления все работало нормально.
Однако проблема не связана с моим проектом.Если я создаю новый проект и добавляю nativescript-barcodescanner
$ tns create testproject && cd testproject
$ tns plugin add nativescript-barcodescanner
$ tns prepare android
..., тогда ошибка снова появляется.Когда я tns remove nativescript-barcodescanner
, сборка выполняется правильно.
Шаги сделаны
Сначала я подумал, что это проблема с плагином nativescript-barcodescanner
( - вот моя проблема с GitHub ).Однако теперь я столкнулся с той же ошибкой с шаблоном NativeScript-Vue, когда сборка не удалась на nativescript-socket.io
.
. Я безуспешно попытался выполнить следующие шаги:
- Удаление
node_modules
и повторное выполнение npm install
- Очистка кэша npm (
~/.npm/_cacache
) и повторная загрузка всех зависимостей - Создание нового проекта NativeScript (проблема возвращается, когда я
tns add
плагин) - Удаление плагина и установка более старой версии
- Переустановка NativeScript (
npm i -g nativescript
) - Удаление папки кэша Gradle (
~/.gradle/caches
)и повторная попытка сборки - Использование более новой версии Java (OpenJDK 11 вместо 8)
Мое (текущее) предположение состоит в том, что какой-то файл был неправильно загружен.Это весьма вероятно, потому что мое интернет-соединение не очень хорошее и, возможно, было отключено в середине.Однако я не могу разобрать , какой файл вызывает проблемы (я бы не стал перезагружать все настройки).
Полный вывод
Вот мойИнформация по настройке NativeScript:
$ tns info
✔ Getting NativeScript components versions information...
✔ Component nativescript has 4.2.4 version and is up to date.
✔ Component tns-core-modules has 4.2.1 version and is up to date.
✔ Component tns-android has 4.2.0 version and is up to date.
✔ Component tns-ios has 4.2.0 version and is up to date.
И это примерный прогон (это было с OpenJDK 8, поэтому вместо 10 * zip END header not found
было указано error opening zip file
):
$ tns create bartest
npm notice created a lockfile as package-lock.json. You should commit this file.
added 3 packages in 295.509s
Project bartest was successfully created.
$ cd bartest
$ tns plugin add nativescript-barcodescanner
+ nativescript-barcodescanner@2.7.8
added 1 package in 97.781s
Successfully installed plugin nativescript-barcodescanner.
$ tns prepare android
Copying template files...
Platform android successfully added. v4.2.0
Preparing project...
Successfully prepared plugin nativescript-barcodescanner for android.
Successfully prepared plugin nativescript-theme-core for android.
Successfully prepared plugin tns-core-modules for android.
Successfully prepared plugin tns-core-modules-widgets for android.
Failed to build plugin nativescript-barcodescanner :
Error: Command ./gradlew failed with exit code 1 Error output:
Exception in thread "main" java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:225)
at java.util.zip.ZipFile.<init>(ZipFile.java:155)
at java.util.zip.ZipFile.<init>(ZipFile.java:169)
at org.gradle.wrapper.Install.unzip(Install.java:215)
at org.gradle.wrapper.Install.access$600(Install.java:27)
at org.gradle.wrapper.Install$1.call(Install.java:75)
at org.gradle.wrapper.Install$1.call(Install.java:48)
at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:69)
at org.gradle.wrapper.Install.createDist(Install.java:48)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:107)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
Есть ли способ выяснить, какой zip-файл вызывает ошибку, или каким-либо другим способом я могу попытаться отладить эту проблему?