Ошибка сборки Кордовы - EPERM, операция не разрешена

Я пытаюсь создать файл APK для Android для моего проекта

C:\myApp>cordova build android
cp: copyFileSync: could not write to dest file (code=EPERM):C:\myApp\platforms\android\res\xml\config.xml

Error: EPERM, operation not permitted 'C:\myApp\platforms\android\res\xml\config.xml'
at Object.fs.openSync (fs.js:438:18)
at Object.fs.writeFileSync (fs.js:977:15)

Я использовал Windows 7 64 бит. В чем может быть причина?

Мои файлы, кстати, управляются версией subversion, и я не уверен, что это так.

Кто-нибудь столкнулся с этим?

Ответ 1

Переустановите android как платформу, следует воссоздать любые папки с плохими разрешениями

cordova platform remove android

cordova platform add android

Ответ 2

У меня была та же проблема. Это устранило проблему:

sudo chown -R yourUserName foldername

Ответ 3

Меню "Пуск" → поиск "cmd" → щелкните правой кнопкой мыши "cmd.exe" и "Запуск от имени администратора"

Исправлена ​​проблема для меня.

Ответ 4

Еще одна возможность, которая не упоминалась явно, заключается в том, что если ваша система контроля версий отмечает файлы как доступные только для чтения, когда вы их проверяете, это приведет к ошибкам EPERM во время сборки. Вам придется обойти это, имея событие pre-build или hook (в зависимости от вашей среды разработки), чтобы удалить этот атрибут из соответствующих файлов после их копирования в конкретное место на платформе.

Ответ 5

Файл config.xml создается путем предварительного копирования файла "platform\android\cordova\defaults.xml". Если этот файл доступен только для чтения, то файл config.xml также будет доступен только для чтения, и Cordova не сможет его изменить.

Либо сделайте оба файла доступными для записи, либо извлеките их из Source Control перед сборкой, чтобы решить эту проблему.

Ответ 6

"Ошибка: EPERM" всегда означает, что разрешение запрещено.
Я решил "Ошибка: EPERM: операция не разрешена, откройте '\ resources\android\icon\drawable-ldpi-icon.png'"
удалив атрибут "только для чтения" для необходимых файлов, показанных по ошибке.

Было 2 изменения, чтобы избежать этой ошибки

  1. Удаление атрибута "Только чтение" из файла, указанного в ошибке
  2. Выполните командную строку с правами администратора

Ответ 7

Я попробовал все здесь, ничего не помогло мне. Итак, вот решение для моего случая: проверьте антивирус (щиты и т.д.), Это была моя проблема, после выключения запустите команды:

cordova platform rm android
cordova platform add android

Работало нормально.