在编写一些cordova插件时,源/头文件、iOS库和Android Jar来自一些SDK、资源文件,都可以添加到Cordova插件中。
使用google-play-services.jar时,library project包含一些资源文件,如果添加资源,会在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 支持这个新功能,但 Intel XDK 还不支持!!!在撰写本文时(2014 年 11 月 15 日),它仍然使用 cordova v3.3。
结果是:
如果你写一个插件,并使用插件“com.google.playservices”作为依赖,
- 使用 cordova CLI 时,可以毫无问题地构建插件。
- 如果使用 Intel XDK,则无法加载您的插件。
那么,如何为 Intel XDK 修复它?
答案是:在您的 plugin.xml 中指定依赖项的确切版本号,如下所示:
<dependency id="com.google.playservices@19.0.0"/>
希望以上信息对遇到同样问题的人有用。
干杯。
关于android - 如何将库资源添加到 Cordova 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26121635/