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

标签 android cordova namespaces resources

在编写一些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/

相关文章:

java - 在主线程中创建字体会影响应用程序性能吗?

cordova - 避免 meteor 框架覆盖cordova config.xml 和AndroidManifest.xml

c++ - 如何将全局范围函数声明为命名空间类的 friend ?

namespaces - 在 Rails 3.1 控制台中包含命名空间

android - 对 SQLite 数据库的 Activity 和后台服务访问

android不能把linearlayout放到listview下

Java 原始类型 : int vs. 整数

android - Visual Studio 无法识别模拟器 (AVD)

ios - 您可能没有运行此项目所需的环境或操作系统 - Cordova - iOS

c++ - 在全局函数中实现,或者在全局函数包装的类中实现