在 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构建问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23976066/