2014-09-30 90 views
6

當從一些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

回答

12

很可惜這些問題還沒有回答。

可喜的是,經過奮鬥了幾個星期,我碰巧借鑑其他項目的解決方案: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]"/> 

希望以上信息對別人誰遇到同樣的問題非常有用。

乾杯。

相關問題