当写一些cordova插件,来自某些SDK,资源文件的源/头文件,iOS库和Android Jar都可以添加到Cordova插件中。
使用google-play-services.jar时,库项目包含一些资源文件,如果添加的资源,将在app命名空间中生成R.java,而不是SDK命名空间。
有一些解决方法可以将库项目(包括jar和资源)添加到创建的Cordova项目中,但是如果在英特尔XDK或PhoneGap Build等云服务中构建Cordova应用程序,则无法使用此类解决方法。
是否可以添加SDK资源并在SDK命名空间中生成R.java?如果有,怎么样?
答案 0 :(得分:12)
遗憾的是,问题尚未得到解答。
好消息是,经过几周的挣扎,我碰巧从另一个项目中学到了解决方案: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。
结果是:
如果您编写插件,并使用插件&#34; com.google.playservices&#34;作为依赖,
然后,如何为英特尔XDK修复它?
答案是:在plugin.xml中指定依赖项的确切版本号,如下所示:
<dependency id="com.google.playservices@19.0.0"/>
希望上述信息对遇到同样问题的人有用。
干杯。