当我使用命令:ionic cordova build android
这里是我得到的:
cp:copyFileSync:无法写入dest文件(代码= ENOENT):/ Users / mehdigriche / work / cam1 / test / platforms / android / res / xml / config.xml
解析/Users/mehdigriche/work/cam1/test/platforms/android/res/xml/config.xml失败(节点:2306)UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝ID:1):错误:ENOENT:没有这样的文件或目录,打开'/Users/mehdigriche/work/cam1/test/platforms/android/res/xml/config.xml'
[10:50:14]皮特说完了
将此钩子添加到cordova项目:patch-android-studio-check.js
<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
cordova platform rm android
cordova platform add android@latest
你的命令:离子cordova构建android是错误的 我想你的意思是:离子cordova构建android
但也尝试:离子cordova构建 - 释放android
我有同样的错误,经过2天的调试后我找到了一个解决方案:
在目录中:platforms / android / cordova我在文件Api.js中更新了locations对象,因为路径不正确。
当前位置对象在我的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这样的插件,所以我删除它并构建应用程序。
我希望它有所帮助
解决这个问题
cp:copyFileSync:无法写入dest文件(代码= ENOENT):/ Users / mehdigriche / work / cam1 / test / platforms / android / res / xml / config.xml
在xml
中创建一个名为platforms/android/res
的文件夹
显然,添加android +7时,某些文件没有正确生成,所以我通过以下方法解决了这个问题:
首先删除你的平台,
ionic cordova platform rm android
然后重新安装较低版本(6.3为我工作)
ionic cordova platform add [email protected]
今天早上我遇到了同样的问题,我的(相当激烈的)解决方案是:
ionic cordova platform rm android
platforms
,plugins
&www
npm install
ionic cordova platform add android
ionic cordova build android
注意关于dtmp的答案,使用hooks目录似乎已被弃用。使用'scripts'目录可能更合适。
当尝试使用离子2进行构建时,使用'hooks'目录会导致找不到钩子js。
ionic cordova rm platform android
删除www和plugins文件夹
npm cache clean
npm install audit fix
ionic cordova build android
如果你像我一样试图克服同样的问题并尝试一路写作解决方案但不是。试试这个解决方案
project.json
文件。"android-versions" : "1.3.0"
依赖项。sudo ionic cordova run android
快乐的编码!