Кордовая андроидная сборка не срабатывает немедленно [Ошибка: spawn EACCES]

Я только начинаю с Cordova (PhoneGap) и пытаюсь создать свой первый проект с ним, однако у меня возникает проблема с моим этапом компиляции - когда я пытаюсь построить (в отслеживании проблемы я сломался шаг build в prepare и compile, а первый отлично работает, насколько я знаю). Я вижу это:

~/Projects/MyProject$ cordova compile android
Compiling app on platform "android" via command "/media/glenatron/local disk/Projects/Cordova/MyProject/platforms/android/cordova/build" 
{ [Error: spawn EACCES] code: 'EACCES', errno: 'EACCES', syscall: 'spawn' }

Теперь из того, что я могу сказать, это проблема с разрешениями, но без опыта Node или Cordova я не понимаю, как устранить ее. Похоже, что он пытается создать другой процесс - возможно, Android SDK? - и он терпит неудачу.

Есть ли способ, по которому я могу попросить Node или Cordova дать мне больше информации о том, что происходит, или есть где-то файл журнала, который поможет мне определить, в чем проблема?

Изменить: я понял, что у cordova есть переключатель --verbose, и когда я его активировал, я получаю вышеупомянутый вывод с дополнительными двумя строками...

Error: spawn EACCES
    at errnoException (child_process.js:980:11)
    at Process.ChildProcess._handle.onexit (child_process.js:771:34)

К сожалению, они, похоже, не дают гораздо больше информации, например, какой процесс он не может запустить.

Ответы

Ответ 1

Это проблема с разрешением, просто выполните

chmod 777 "/media/glenatron/локальный диск/Проекты/Кордова/MyProject/platform/android/cordova/build"

который должен решить проблему

Ответ 2

Для меня это исправлено:

chmod 777 /Applications/Android\ Studio.app/Contents/gradle/gradle-2.2.1/bin/gradle

Ответ 3

Использование многословных предложений, например, Solidak.

cordova build --release --verbose android

Последняя команда заключалась в доступе к /platforms/android/gradlew, поэтому я chmod +x этот файл и он работал.

Ответ 4

По-моему, это разные для каждого. Запуск --verbose предоставит вам файл, к которому нужен Кордова. Оттуда вы можете chmod 777 <file>. Команда, которую вы должны запустить, чтобы выяснить недоступный файл, выглядит следующим образом: cordova build --release --verbose android

Ответ 5

Я столкнулся с той же проблемой. В моем случае, я поставил образец проекта cordova на другой раздел ext3, чем домашняя папка. Поскольку раздел не был NTFS, разрешения не должны были быть проблемой. Но когда я пробовал все предлагаемые методы (меняя разрешения, делая все исполняемым), никто из них не работал. Эта проблема исчезла, как только я создал образец кордовой папки в моем домашнем разделе.