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