现在,在新的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)
答案 0 :(得分:8)
<强>更新强>
您也可以使用this插件,或者可以在plugin.xml
中添加此行以将此插件添加为依赖项。
<dependency id="com.google.playservices" />
请按照以下步骤解决问题:
ANDROID_SDK_PATH\extras\google\google_play_services\libproject\
复制到您的项目根目录。(即platform / android)project_root_folder/Cordova
lib文件夹到google-play-services_lib
文件夹。project.properties
文件的项目目标更改为正确的目标(即android 19)。从Project Root文件夹中打开project.properties
并更改参考2,如下所示:
android.library.reference.1 = CordovaLib
目标=机器人-19
android.library.reference.2 =谷歌播放-services_lib
转到项目中的google-play-services
文件夹并运行:
android update project -p .
(别忘了点)
然后运行以下命令:
ant debug
ant release
如果您收到任何错误,请先运行“ant clean debug
”,然后按照步骤6进行操作。
现在你可以运行cordova build android OR如果你正在使用离子然后离子构建android。
答案 1 :(得分:1)
删除com.google.playservices插件 并通过此命令添加插件 cordova插件添加https://github.com/MobileChromeApps/google-play-services.git