Ionic build android Ошибка: copyFileSync: не удалось записать в файл dest
Когда я использую команду: ionic cordova build android
вот что я получаю:
cp: copyFileSync: не удалось записать файл dest (Код = ENOENT):/Users/mehdigriche/работа/cam1/тест/платформы/Android/Рез/XML/config.xml
Синтаксический /Users/mehdigriche/work/cam 1/test/platforms/android/res/xml/config.xml не удалось (node: 2306) UnhandledPromiseRejectionWarning: необработанное обещание rejection (id отторжения: 1): Ошибка: ENOENT: нет такого файла или каталога, открытый '/Users/mehdigriche/work/cam1/test/platforms/android/res/xml/config.xml'
[10:50:14] lint закончил i
Ответы
Ответ 1
Добавьте этот хук в проект cordova: patch-android-studio-check.js
-
Поместите файл patch-android-studio-check.js в хуки каталогов вашего проекта
-
Добавьте следующие строки в config.xml вашего проекта:
<platform name="android">
<hook src="hooks/patch-android-studio-check.js" type="before_plugin_install" />
<hook src="hooks/patch-android-studio-check.js" type="before_plugin_add" />
<hook src="hooks/patch-android-studio-check.js" type="before_build" />
<hook src="hooks/patch-android-studio-check.js" type="before_run" />
<hook src="hooks/patch-android-studio-check.js" type="before_plugin_rm" />
</platform>
-
Удалить каталог плагинов:
rm -rf plugins
-
Переустановите плагины:
ionic build
-
Переустановите платформу Android:
cordova platform rm android
cordova platform add [email protected]
Ответ 2
Ваша команда: ионная кордова строит androird неправильно |
Я думаю, вы имеете в виду: ионная кордова строить андроид
Но попробуйте также: ионная кордова build -release android
У меня была такая же ошибка, после двух дней отладки я нашел решение для меня:
в каталоге: platform/android/cordova
Я обновил в файле Api.js объект местоположений, потому что путь неправильный.
объект текущих местоположений выглядит так в моем Api.js:
this.locations = {
root: self.root,
www: path.join(self.root, 'assets/www'),
res: path.join(self.root, 'res'),
platformWww: path.join(self.root, 'platform_www'),
configXml: path.join(self.root, 'app/src/main/res/xml/config.xml'),
defaultConfigXml: path.join(self.root, 'cordova/defaults.xml'),
strings: path.join(self.root, 'app/src/main/res/values/strings.xml'),
manifest: path.join(self.root, 'app/src/main/AndroidManifest.xml'),
build: path.join(self.root, 'build'),
javaSrc: path.join(self.root, 'app/src/main/java/'),
// NOTE: Due to platformApi spec we need to return relative paths here
cordovaJs: 'bin/templates/project/assets/www/cordova.js',
cordovaJsSrc: 'cordova-js-src'
};
После этих изменений я смог создать свое приложение.
У меня также были ошибки из-за плагинов, таких как cordova-sqlite-storage, поэтому я удалил его и построил приложение.
Я надеюсь, что это поможет
Ответ 3
Для решения этой проблемы
cp: copyFileSync: не удалось записать в файл dest (code = ENOENT): /Users/mehdigriche/work/cam1/test/platform/android/res/xml/config.xml
Создайте папку с именем xml
в platforms/android/res
Ответ 4
По-видимому, некоторые файлы генерируются неправильно при добавлении Android +7, поэтому я решил эту проблему следующим образом:
Во-первых, удалите вашу платформу,
ionic cordova platform rm android
затем переустановите более низкую версию (у меня сработало 6.3)
ionic cordova platform add [email protected]
Ответ 5
Сегодня утром я столкнулся с той же проблемой, и мое (довольно радикальное) решение было таково:
- Удалить платформу:
ionic cordova platform rm android
- Удалите из папки приложения следующие папки:
platforms
, plugins
и www
- Убедитесь, что ваши зависимости доступны, запустив:
npm install
- Добавьте обратно платформу, этот шаг будет воссоздавать папки, удаленные на шаге 2 выше:
ionic cordova platform add android
- Наконец, создайте ваше приложение:
ionic cordova build android
Ответ 6
Обратите внимание на dtmp Answer, использование каталога hooks не рекомендуется. Использование каталога 'scripts' вместо этого может быть более уместным.
При попытке сделать сборку с использованием ionic 2, использование каталога "hooks" приводит к тому, что ловушка js не найдена.
Ответ 7
Предполагая, что
Androird
часть - это просто опечатка.
Проверьте это:
https://github.com/ionic-team/ionic/issues/13702
Это известная проблема и еще не исправлена!
Ответ 8
Если вы, как и я, пытаетесь преодолеть ту же проблему и пробуете все, что написано как решение, но не так. Попробуйте это решение;
- Откройте папку вашего проекта
project.json
файл. - Добавьте эту
"android-versions": "1.3.0"
зависимость "android-versions": "1.3.0"
. - Запустите npm i.
- Запустите команду
sudo ionic cordova run android
Удачного кодирования!
Ответ 9
ionic cordova rm platform android
удалить папку www и плагины
npm cache clean
npm install audit fix
ionic cordova build android