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

7
在编写少量 Cordova 插件、源/头文件、iOS 库和 Android Jar 时,可以将 SDK 的一些资源文件添加到 Cordova 插件中。
使用 google-play-services.jar 时,库项目包含一些资源文件。如果添加了这些资源文件,则会在应用程序命名空间中生成 R.java,而不是 SDK 命名空间。
有一些解决方法可以将库项目(包括 jar 和资源)添加到创建的 Cordova 项目中,但如果在云服务如 Intel XDK 或 PhoneGap Build 中构建 Cordova 应用程序,则无法使用此解决方法。
是否可能添加 SDK 资源并在 SDK 命名空间中生成 R.java?如果可以,该如何实现呢?

请查看此链接:http://www.vogella.com/tutorials/AndroidLibraryProjects/article.html。 - Maveňツ
感谢您的评论。我知道如何创建库项目,并将其用作应用程序项目的依赖项。我的问题是,如果不使用库项目,是否可以添加SDK资源? - Raymond Xie
1个回答

13

很遗憾这个问题还没有被回答。

好消息是,在苦苦挣扎了几周之后,我碰巧从另一个项目中学到了解决方案: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"/>
希望上述信息对遇到类似问题的人有所帮助。祝好!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接