将Youtube-video-player插件添加到我的项目后,构建失败说:
解析平台/ android / res / xml / config.xml失败
(node:6525)UnhandledPromiseRejectionWarning:错误:ENOENT:没有这样的文件或目录,打开'platforms / android / AndroidManifest.xml' 在Object.fs.openSync(fs.js:663:18) at Object.fs.readFileSync(fs.js:568:33) at Object.parseElementtreeSync(platforms / android / cordova / node_modules / cordova-common / src / util / xml-helpers.js:180:27) 在新的AndroidManifest上(platforms / android / cordova / lib / AndroidManifest.js:29:20) 在updateProjectAccordingTo(platforms / android / cordova / lib / prepare.js:187:20) 在platforms / android / cordova / lib / prepare.js:47:16 at _fulfilled(platforms / android / cordova / node_modules / q / q.js:854:54) at self.promiseDispatch.done(platforms / android / cordova / node_modules / q / q.js:883:30) 在Promise.promise.promiseDispatch(platforms / android / cordova / node_modules / q / q.js:816:13) 在platforms / android / cordova / node_modules / q / q.js:570:49 (node:6525)UnhandledPromiseRejectionWarning:未处理的承诺拒绝。这个错误源于在没有catch块的情况下抛出异步函数,或者拒绝未使用.catch()处理的promise。 (拒绝ID:1) (节点:6525)[DEP0018]弃用警告:不推荐使用未处理的拒绝承诺。将来,未处理的承诺拒绝将使用非零退出代码终止Node.js进程。
答案 0 :(得分:1)
如果您使用的是Cordova 7.0.0或更高版本,则降级至cordova版本6.5.0以使该插件正常工作。 最新版本创建的目录结构与旧版本不同,并且插件尚未相应更新以适应它以及导致此错误的原因。 降级后删除并再次添加Android平台,并删除其他插件,因为它们可能无法与旧版本一起使用,并在项目中再次添加
答案 1 :(得分:0)
大多数情况下,通过移除平台然后再次干净地添加它来解决这些问题。
删除Android平台
ionic cordova platform remove android
再次添加之前,请确认您在config.xml中存在YouTube API密钥
<preference name="YouTubeDataApiKey" value="[YOUR YOUTUBE API]" />
如果您需要添加Android平台,请添加它:
ionic cordova platform add android
答案 2 :(得分:0)
卸载旧插件 npm卸载@ ionic-native / youtube-video-player 并安装最新的插件 npm install --save @ ionic-native / youtube-video-player @ 4