Cordova - 在Android上安装AdMob插件失败(Mac)

时间:2014-12-02 20:31:58

标签: android git cordova plugins admob

我在Android https://github.com/floatinghotpot/cordova-plugin-admob上安装AdMob cordova插件时遇到错误,该插件已安装并可在iOS平台上正常运行,但它在Android上出现此错误。

我的环境:

  

获取插件   " https://github.com/floatinghotpot/cordova-plugin-admob.git"通过git   克隆       安装" com.rjfun.cordova.plugin.admob"对于Android       获取插件" com.google.admobsdk"通过插件注册表       安装" com.google.admobsdk"对于Android       获取插件" com.google.playservices@19.0.0"通过插件注册表       无法安装com.google.admobsdk':错误:预期获取的插件有ID" com.google.playservices@19.0.0"但得到了   " com.google.playservices" 即可。           at checkID(/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/fetch.js:116:19)           at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/fetch.js:99:24           在_fulfilled(/usr/local/lib/node_modules/cordova/node_modules/q/q.js:798:54)           at self.promiseDispatch.done(/usr/local/lib/node_modules/cordova/node_modules/q/q.js:827:30)           在Promise.promise.promiseDispatch(/usr/local/lib/node_modules/cordova/node_modules/q/q.js:760:13)           at /usr/local/lib/node_modules/cordova/node_modules/q/q.js:574:44           在flush(/usr/local/lib/node_modules/cordova/node_modules/q/q.js:108:17)           at process._tickCallback(node.js:419:13)       无法安装' com.rjfun.cordova.plugin.admob':错误:预期获取的插件具有ID" com.google.playservices@19.0.0"但得到了   " com.google.playservices&#34 ;.           at checkID(/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/fetch.js:116:19)           at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/fetch.js:99:24           在_fulfilled(/usr/local/lib/node_modules/cordova/node_modules/q/q.js:798:54)           at self.promiseDispatch.done(/usr/local/lib/node_modules/cordova/node_modules/q/q.js:827:30)           在Promise.promise.promiseDispatch(/usr/local/lib/node_modules/cordova/node_modules/q/q.js:760:13)           at /usr/local/lib/node_modules/cordova/node_modules/q/q.js:574:44           在flush(/usr/local/lib/node_modules/cordova/node_modules/q/q.js:108:17)           at process._tickCallback(node.js:419:13)       错误:预期获取的插件具有ID" com.google.playservices@19.0.0"但得到了#com; google.playservices"。           at checkID(/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/fetch.js:116:19)           at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/fetch.js:99:24           在_fulfilled(/usr/local/lib/node_modules/cordova/node_modules/q/q.js:798:54)           at self.promiseDispatch.done(/usr/local/lib/node_modules/cordova/node_modules/q/q.js:827:30)           在Promise.promise.promiseDispatch(/usr/local/lib/node_modules/cordova/node_modules/q/q.js:760:13)           at /usr/local/lib/node_modules/cordova/node_modules/q/q.js:574:44           在flush(/usr/local/lib/node_modules/cordova/node_modules/q/q.js:108:17)           at process._tickCallback(node.js:419:13)

任何想法?! 提前致谢

2 个答案:

答案 0 :(得分:4)

我使用这个并且对我很好:https://github.com/appfeel/admob-google-cordova

cordova plugin add cordova-admob

如果你在phonegap build中运行,那么:

<gap:plugin name="phonegap-admob" source="npm"/>

答案 1 :(得分:4)

简单的答案是:

您需要升级到cordova CLI v4.0,只需运行:

sudo npm install cordova -g

详细答案是:

此失败的根本原因是,cordova CLI v3.5无法正确识别插件com.google.admobsdk中的以下依赖项。

<dependency id="com.google.playservices@19.0.0"/>

您可能会问,为什么会添加@19.0.0

它用于指定确切版本,并使其与cordova CLI和Intel XDK兼容。

由于英特尔XDK无法处理默认的com.google.playservices(@ 21.0.0)(至少到目前为止,这个答案正在发布),而英特尔可以正确处理版本com.google.playservices@19.0.0 XDK。

cordova v3.5中的一些错误会导致此问题,并已在cordova v4.0中修复,在发行说明中称为“固定依赖项”。

请参阅发行说明:http://cordova.apache.org/announcements/2014/10/16/cordova-4.html

所以,请升级到cordova CLI v4.0,这将更容易。

如果有任何问题,请在项目问题跟踪器页面询问,您将得到及时的支持。