导入谷歌游戏服务后,Cordova构建存在问题。

4
在Admob SDK的新更新中,现在我们需要将谷歌播放服务项目导入到我们的项目中来实现应用程序的广告展示和赚取利润。我正在使用Apache Cordova/ Phonegap创建一个应用程序,并且我用它创建了Android项目,一切都很好。然后我打开Cordova生成的Android项目,导入了Google Play服务lib项目,并添加了我需要展示广告的所有本地代码,然后......太好了! 在模拟器上测试正常,设备上更好!但是现在,当我更新cordova /www文件夹中的代码并尝试运行命令时:cordova build android,我总是会遇到构建错误。所以每次我需要更新我的代码并更新Android项目时,我都需要删除Cordova生成的本地Android项目中插入的所有Google Play服务引用和代码,运行构建命令,然后再次添加所有内容,这有点烦人。有人已经通过这个问题吗?有没有更好的解决方案?我得到的错误是这个:
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个回答

8

更新: 您也可以使用这个插件,或者在您的plugin.xml中添加这一行以将此插件作为依赖项。

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

按照以下步骤解决问题:

  1. 首先将整个google-play-services_lib文件夹从ANDROID_SDK_PATH\extras\google\google_play_services\libproject\复制到您的项目根目录下。(即platform/android)
  2. project_root_folder/Cordova库文件夹中的build.xml、local.properties和project.properties文件复制到google-play-services_lib文件夹中。
  3. project.properties文件的项目目标更改为正确的目标(即android 19)。
  4. 打开您的项目根目录下的project.properties文件,并像这样更改引用2:

    android.library.reference.1=CordovaLib

    target=android-19

    android.library.reference.2=google-play-services_lib

  5. 进入您的项目中的google-play-services文件夹并运行:

    android update project -p .(不要忘记点号)

  6. 然后运行以下命令:

    ant debug

    ant release

  7. 如果出现任何错误,则首先运行'ant clean debug',然后按照第6步操作。

  8. 现在可以运行cordova build android或者如果您使用的是ionic,则运行ionic build android。


libproject 不存在。 - Jason G

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接