当使用google-play-services.jar时,库项目包含一些资源文件,如果添加了资源,将在app命名空间中生成R.java,而不是SDK命名空间.
有一些解决方法可以将库项目(包括jar和资源)添加到创建的Cordova项目中,但是如果在像Intel XDK或PhoneGap Build这样的云服务中构建Cordova应用程序,则无法使用此类解决方法.
是否可以添加SDK资源并在SDK命名空间中生成R.java?如果有,怎么样?
解决方法
好消息是,经过几周的挣扎,我碰巧从另一个项目中学到了解决方案:https://github.com/MobileChromeApps/google-play-services
Cordova plugin.xml中添加了一项新功能,以支持将android子项目添加到Cordova项目中.以下是上述项目的示例,
<framework src="libs/google-play-services_lib" custom="true" />
对于iOS,它非常相似,添加如下框架:
<framework src="src/ios/MobFox.framework" custom="true"/>
然后cordova CLI将知道如何将整个文件夹添加到Cordova项目,并将子项目添加到eclipse项目,并将框架添加到Xcode项目文件中.
但是,要注意!!
尽管cordova CLI支持这一新功能,但英特尔XDK尚不支持它!在撰写本文时(2014年11月15日),它仍然使用cordova v3.3.
结果是:
如果您编写插件,并使用插件“com.google.playservices”作为依赖项,
>使用cordova CLI时,可以毫无问题地构建插件.
>如果使用Intel XDK,则无法加载插件.
那么,如何为英特尔XDK修复它?
答案是:在plugin.xml中指定依赖项的确切版本号,如下所示:
<dependency id="com.google.playservices@19.0.0"/>
希望以上信息对遇到同样问题的人有用.
干杯.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。