添加Youtube-video-player插件后,在ionic3中构建失败

时间:2018-03-24 10:36:14

标签: xml ionic-framework ionic3 youtube-data-api

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进程。

3 个答案:

答案 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