【问题标题】:After adding Youtube-video-player plugin build is getting failed in ionic3添加 Youtube-video-player 插件后构建在 ionic3 中失败
【发布时间】:2018-09-02 23:01:18
【问题描述】:

在我的项目构建中添加Youtube-video-player 插件后,说:

解析平台/android/res/xml/config.xml 失败

(node:6525) UnhandledPromiseRejectionWarning: 错误: ENOENT: 没有这样的文件或目录,打开'platforms/android/AndroidManifest.xml' 在 Object.fs.openSync (fs.js:663:18) 在 Object.fs.readFileSync (fs.js:568:33) 在 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) 在平台/android/cordova/lib/prepare.js:47:16 在 _fulfilled (platforms/android/cordova/node_modules/q/q.js:854:54) 在 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) 在平台/android/cordova/node_modules/q/q.js:570:49 (节点:6525)UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。 (拒绝编号:1) (节点:6525)[DEP0018] DeprecationWarning:不推荐使用未处理的承诺拒绝。将来,未处理的 Promise 拒绝将使用非零退出代码终止 Node.js 进程。

【问题讨论】:

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


    【解决方案1】:

    我也遇到了这个插件的问题(对我来说,错误是“Android 资源链接失败”)但我设法通过删除:android:label="@string/activity_name" 使其工作 在capacitor-cordova-android-plugins/manifests/AndroidManifest.xml

    你可以在这里看到粗体的罪魁祸首。

    android:label="@string/activity_name" android:launchMode="singleTop" android:theme="@android:style/Theme.Black.NoTitleBar" android:windowSoftInputMode="adjustResize"/>

    【讨论】:

      【解决方案2】:

      卸载旧插件 npm 卸载 @ionic-native/youtube-video-player 并安装最新插件 npm install --save @ionic-native/youtube-video-player@4

      【讨论】:

        【解决方案3】:

        如果您使用的是 Cordova 版本 7.0.0 或更高版本,请降级到 Cordova 版本 6.5.0 以使插件正常工作。 最新版本创建的目录结构与旧版本不同,并且插件尚未相应更新以适应它,这就是您收到此错误的原因。 降级后删除并再次添加 Android 平台,同时删除其他插件,因为它们可能不适用于旧版本,并在您的项目中再次添加它们

        【讨论】:

          【解决方案4】:

          大多数情况下,这些问题都是通过删除平台然后干净地重新添加来解决的。

          移除 Android 平台

          ionic cordova platform remove android
          

          在再次添加之前,请检查您的 YouTube API 密钥是否存在于 config.xml 中

          <preference name="YouTubeDataApiKey" value="[YOUR YOUTUBE API]" />
          

          如果需要添加它,然后添加Android平台:

          ionic cordova platform add android
          

          【讨论】:

          • @Sebatien 我已经这样做了。能否请您提供另一种解决方案。
          猜你喜欢
          • 1970-01-01
          • 2018-02-17
          • 2016-10-23
          • 2020-08-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-06-29
          • 1970-01-01
          相关资源
          最近更新 更多