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

  1. Поместите файл patch-android-studio-check.js в хуки каталогов вашего проекта

  2. Добавьте следующие строки в 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>
    
  3. Удалить каталог плагинов:

    rm -rf plugins
    
  4. Переустановите плагины:

    ionic build
    
  5. Переустановите платформу 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

Сегодня утром я столкнулся с той же проблемой, и мое (довольно радикальное) решение было таково:

  1. Удалить платформу:
ionic cordova platform rm android
  1. Удалите из папки приложения следующие папки: platforms, plugins и www
  2. Убедитесь, что ваши зависимости доступны, запустив: npm install
  3. Добавьте обратно платформу, этот шаг будет воссоздавать папки, удаленные на шаге 2 выше:
ionic cordova platform add android
  1. Наконец, создайте ваше приложение:
ionic cordova build android

Ответ 6

Обратите внимание на dtmp Answer, использование каталога hooks не рекомендуется. Использование каталога 'scripts' вместо этого может быть более уместным.

При попытке сделать сборку с использованием ionic 2, использование каталога "hooks" приводит к тому, что ловушка js не найдена.

Ответ 7

Предполагая, что

Androird

часть - это просто опечатка.

Проверьте это: https://github.com/ionic-team/ionic/issues/13702

Это известная проблема и еще не исправлена!

Ответ 8

Если вы, как и я, пытаетесь преодолеть ту же проблему и пробуете все, что написано как решение, но не так. Попробуйте это решение;

  1. Откройте папку вашего проекта project.json файл.
  2. Добавьте эту "android-versions": "1.3.0" зависимость "android-versions": "1.3.0".
  3. Запустите npm i.
  4. Запустите команду sudo ionic cordova run android

Удачного кодирования!

Ответ 9

ionic cordova rm platform android

удалить папку www и плагины

npm cache clean
npm install audit fix
ionic cordova build  android