导入谷歌播放服务后,Cordova构建问题

时间:2014-06-01 01:48:47

标签: cordova google-play-services phonegap-build

现在,在新的admob SDK更新后,我们需要将google play服务项目导入我们的项目,以便在我们的应用中获利并展示广告。我正在用Apache Cordova / Phonegap创建一个应用程序,我用它创建了android项目,一切都很好。然后我打开我的android项目,生成cordova并导入google play服务lib项目并将我需要的所有本机代码展示给广告,然后......太棒了!工作正常,在模拟器,NICE,设备上测试,甚至更好!但是现在当我在cordova的/ www文件夹中更新我的代码并尝试运行命令时: cordova build android

我总是得到一个构建错误,所以每次我需要更新我的代码并更新android项目我需要删除google play服务的所有引用和代码我插入本地android项目由cordova生成,运行构建命令,然后再添加一切,这有点无聊,有人已经通过这个?有人有更好的解决方案吗? 我得到的错误是:

BUILD FAILED
/Users/matheus/Development/adt-bundle-mac/sdk/tools/ant/build.xml:601: Invalid file: /Users/matheus/Development/google-play-services_lib/build.xml

Total time: 1 second
Error code 1 for command: ant with args: debug,-f,/Users/matheus/Development/phonegap_projects/TabFipeFree/platforms/android/build.xml,-Dout.dir=ant-build,-Dgen.absolute.dir=ant-gen
Error: /Users/matheus/Development/phonegap_projects/TabFipeFree/platforms/android/cordova/build: Command failed with exit code 2
    at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:131:23)
    at ChildProcess.EventEmitter.emit (events.js:98:17)
    at maybeClose (child_process.js:753:16)
    at Process.ChildProcess._handle.onexit (child_process.js:820:5)

2 个答案:

答案 0 :(得分:8)

<强>更新 您也可以使用this插件,或者可以在plugin.xml中添加此行以将此插件添加为依赖项。

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

请按照以下步骤解决问题:

  1. 首先将整个google-play-services_lib文件夹从ANDROID_SDK_PATH\extras\google\google_play_services\libproject\复制到您的项目根目录。(即platform / android)
  2. copy build.xml,local.properties&amp; project.properties文件从project_root_folder/Cordova lib文件夹到google-play-services_lib文件夹。
  3. project.properties文件的项目目标更改为正确的目标(即android 19)。
  4. 从Project Root文件夹中打开project.properties并更改参考2,如下所示:

    android.library.reference.1 = CordovaLib

    目标=机器人-19

    android.library.reference.2 =谷歌播放-services_lib

  5. 转到项目中的google-play-services文件夹并运行:

    android update project -p .(别忘了点)

  6. 然后运行以下命令:

    ant debug

    ant release

  7. 如果您收到任何错误,请先运行“ant clean debug”,然后按照步骤6进行操作。

  8. 现在你可以运行cordova build android OR如果你正在使用离子然后离子构建android。

答案 1 :(得分:1)

删除com.google.playservices插件 并通过此命令添加插件 cordova插件添加https://github.com/MobileChromeApps/google-play-services.git