2014-12-02 50 views
1

我在Android上安裝AdMob cordova插件時遇到了錯誤,該插件已安裝並且可以在iOS平臺上正常工作,但它在android上會出現此錯誤。Cordova - 在Android上安裝AdMob插件失敗(Mac)

我的環境:

Fetching plugin " https://github.com/floatinghotpot/cordova-plugin-admob.git " via git clone Installing "com.rjfun.cordova.plugin.admob" for android Fetching plugin "com.google.admobsdk" via plugin registry Installing "com.google.admobsdk" for android Fetching plugin "[email protected]" via plugin registry Failed to install 'com.google.admobsdk':Error: Expected fetched plugin to have ID "[email protected]" but got "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 at _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) at 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 at flush (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:108:17) at process._tickCallback (node.js:419:13) Failed to install 'com.rjfun.cordova.plugin.admob':Error: Expected fetched plugin to have ID "[email protected]" but got "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 at _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) at 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 at flush (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:108:17) at process._tickCallback (node.js:419:13) Error: Expected fetched plugin to have ID "[email protected]" but got "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 at _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) at 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 at flush (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:108:17) at process._tickCallback (node.js:419:13)

任何想法? 在此先感謝

回答

4

簡單的答案是:

您需要升級到cordova CLI v4.0,只需運行:

sudo npm install cordova -g 

詳細的回答是:

這種故障,科爾多瓦CLI V3.5不能正確識別插件com.google.admobsdk以下依賴的根本原因。

<dependency id="[email protected]"/> 

你可能會問,爲什麼加入@19.0.0

它用於指定確切的版本,並保持它與cordova CLI和Intel XDK兼容。

由於英特爾XDK無法處理默認com.google.playservices(@ 21.0.0)(至少到目前爲止,在發佈此答案時),而英特爾XDK可以正確處理版本[email protected]

cordova v3.5中的一些bug會導致此問題,並已在cordova v4.0中修復,在發行說明中稱爲「固定依賴性」。

參見發行說明:http://cordova.apache.org/announcements/2014/10/16/cordova-4.html

所以,請升級到科爾多瓦CLI V4.0,它會容易得多。

如果有任何問題,請在項目問題跟蹤頁面詢問,您會得到及時的支持。

+0

是的確,那是我的解決方案 – user2120121 2014-12-07 08:24:43