首页 > 解决方案 > 科尔多瓦-admob-pro 不适用于科尔多瓦 8 和 android 7.1.0

问题描述

我正在使用cordova-admob-pro 插件在我的应用程序上显示广告,最近谷歌宣布更新应用程序 android 需要针对 android oreo(API 级别 26)或更高版本。所以我将cordova更新到最新版本(8)并添加了最新的android平台@7.0.1然后admob插件给出了这个错误:

Failed to install 'cordova-plugin-admobpro': Error: ENOENT: no such file or directory, open '(myapppath)\platforms\android\AndroidManifest.xml'
    at Object.fs.openSync (fs.js:648:18)
    at Object.fs.readFileSync (fs.js:553:33)
    at Object.parseElementtreeSync ( (myapppath) \platforms\android\cordova\node_modules\cordova-common\src\util\xml-helpers.js:180:27)
    at new AndroidManifest ( (myapppath) \platforms\android\cordova\lib\AndroidManifest.js:29:20)
    at AndroidProject.getPackageName (myapppath) \platforms\android\cordova\lib\AndroidProject.js:99:12)
    at Api.addPlugin ( (myapppath) \platforms\android\cordova\Api.js:223:57)
    at handleInstall (C:\Users\mypc\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\src\plugman\install.js:594:10)
    at C:\Users\mypc\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\src\plugman\install.js:357:28
    at _fulfilled (C:\Users\mypc\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\node_modules\q\q.js:787:54)
    at self.promiseDispatch.done (C:\Users\mypc\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\node_modules\q\q.js:816:30)
(node:5328) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: ENOENT: no such file or directory, open ' (myapppath) \platforms\android\AndroidManifest.xml'
(node:5328) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

标签: androidcordovaadmob

解决方案


解决方案是使用另一个插件 cordova-plugin-admob-free 以及该插件的 ionic native。

我为此做了一个演示并将其发布在 github 上: ionic-admob-demo


推荐阅读