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

标签 cordova google-play-services phonegap-build

在 admob SDK 的新更新之后,现在我们需要将 google play 服务项目导入到我们的项目中,以便在我们的应用程序中获利和展示广告。我正在用 Apache Cordova/Phonegap 创建一个应用程序,我用它创建了 android 项目,一切都很好。然后我打开了我的 android 项目,cordova 生成并导入了 google play 服务 lib 项目,并放置了展示广告所需的所有 native 代码,然后......太棒了!工作正常,在模拟器上测试过,不错,设备,甚至更好!但是现在当我在cordova的/www文件夹上更新我的代码并尝试运行命令时:cordova build android
我总是遇到构建错误,所以每次我需要更新我的代码并更新 android 项目时,我需要删除我在由cordova 生成的 native android 项目中插入的 google play 服务的所有引用和代码,运行 build 命令,然后再补充一遍,这有点无聊,有人已经通过了吗?有人有更好的解决方案吗?
我得到的错误是这样的:

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)

最佳答案

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

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

请按照以下步骤解决问题:
  • 首先从 ANDROID_SDK_PATH\extras\google\google_play_services\libproject\ 复制整个 google-play-services_lib 文件夹到您的项目根目录。(即平台/android)
  • 从您的 project_root_folder/Cordova 复制 build.xml、local.properties 和 project.properties 文件lib 文件夹到 google-play-services_lib文件夹。
  • 更改 project.properties文件的项目目标到正确的目标(即 android 19)。
  • 打开 project.properties从您的项目根文件夹并像这样更改引用 2:

    android.library.reference.1=CordovaLib

    目标=android-19

    android.library.reference.2=google-play-services_lib
  • 转至 google-play-services项目中的文件夹并运行:
    android update project -p . (不要忘记点)
  • 然后运行以下命令:

    Ant 调试

    Ant 发布
  • 如果您遇到任何错误,请先运行“ant clean debug” ' 然后按照第 6 步操作。
  • 现在你可以运行 cordova build android 或者如果你使用 ionic 然后 ionic build android。
  • 关于导入谷歌播放服务后Cordova构建问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23976066/

    相关文章:

    android - 使用 Ionic 3 将文件保存到下载目录

    javascript - PhoneGap 在线和离线模式

    android - 如何更新谷歌播放的增量成就

    android - 每个 Google Play 服务组件需要哪些权限?

    ios - PhoneGap Your Binary 未针对 iPhone 5 进行优化

    debugging - 有没有办法在不同平台上测试 phonegap 构建应用程序

    android - 如何覆盖 Phonegap webview 的方法?

    Jquery移动和PhoneGap : Reload page to get next item in database

    ios - 捕获并存储用相机拍摄的照片到本地数据库/PhoneGap/Cordova/iOS

    java - 推送通知在 Android 中不起作用,代号一