如何将库资源添加到Cordova项目?

问题描述:

当从一些SDK写入一些cordova插件,源/头文件,iOS库和Android Jar时,资源文件都可以添加到Cordova插件中。如何将库资源添加到Cordova项目?

当使用谷歌播放-services.jar,库项目包含一些资源文件,如果添加的资源,将在应用程序的命名空间,而不是SDK命名空间产生R.java。

将库项目(包括jar和资源)添加到已创建的Cordova项目中有一些解决方法,但如果在英特尔XDK或PhoneGap Build等云服务中构建Cordova应用程序,则无法使用此解决方法。

是否可以在SDK命名空间中添加SDK资源并生成R.java?如果是,如何?

+0

检查这个http://www.vogella.com/tutorials/AndroidLibraryProjects/article.html – Gattsu 2014-09-30 13:33:07

+0

感谢征求意见。我知道如何创建库项目,并将其用作应用程序项目的依赖项。我的问题是,如果不使用库项目,是否可以添加SDK资源? – 2014-09-30 14:06:22

很可惜这些问题还没有回答。

可喜的是,经过奋斗了几个星期,我碰巧借鉴其他项目的解决方案:https://github.com/MobileChromeApps/google-play-services

一个新的功能被添加到科尔多瓦的plugin.xml,支持Android子项目将被添加到科尔多瓦项目。下面是从上述项目的例子,

<framework src="libs/google-play-services_lib" custom="true" /> 

对于iOS,这是相当类似的,添加了一个框架是这样的:

<framework src="src/ios/MobFox.framework" custom="true"/> 

然后科尔多瓦CLI将知道如何将整个文件夹添加到科尔多瓦项目,并将其作为子项目添加到eclipse项目中,并将框架添加到Xcode项目文件中。

但是,请注意!

虽然cordova CLI支持此新功能,但Intel XDK不支持它!在写这篇文章时(2014年11月15日),它仍然使用cordova v3.3。

结果是:

如果你写一个插件,并使用插件“com.google.playservices”作为依赖,

  • 当使用CLI科尔多瓦,你插件可以不建任何问题。
  • 如果使用英特尔XDK,则无法加载插件。

那么,如何解决它为英特尔XDK?

答案是:指定依赖的确切版本号在plugin.xml,像这样:

<dependency id="[email protected]"/> 

希望以上信息对别人谁遇到同样的问题非常有用。

干杯。