2013-07-21 44 views
5

Phonegap /科爾多瓦3.0已經從版本3.0開始進入模塊化設計。例如,要調用device.version API,您需要將Device插件包含到您的項目中。手動安裝設備插件(和其他)到科爾多瓦3.0

任何人都可以提供有關如何將Device(或任何其他)cordova API插件安裝到新iOS項目(使用XCode)和Android(使用Eclipse)的明確說明?

我能找到的所有細節都是使用Node.js和/或PlugMan的細節。需要一個自動腳本來完成添加插件的基本工作對我來說是不受歡迎的,因爲我不喜歡流程做我不明白的事情(幕後)。

在過去(科爾多瓦2.9),我做了以下在添加第三方插件(比如Android設備)是完美工作:

  1. 把插件的.java代碼到/ src文件夾
  2. 把插件的.js代碼在我的WWW文件夾
  3. 導入js文件到index.html的
  4. 添加feature標籤config.xml中
  5. 調用插件的Javascript

我從來沒有在iOS中添加過插件。

但是,我認爲上述過程應該適用於基於cordova的插件,但事實並非如此。到目前爲止,我沒有嘗試Android,但是我沒有運氣嘗試過iOS。

我將CDVDevice.hCDVDevice.m包含在/ plugins文件夾中。我還將device.js導入到index.html中,並修改了config.xml!我只會在完成iOS之後才試用Android。

請,如果你知道如何做到這一點手動讓我知道。

預先感謝您。

回答

10

我遇到了同樣的問題。

事實上,插件系統並沒有太大的改變。

我剛纔添加的Android的日期選擇器插件:

  • 添加類(.M .H爲iPhone,的.java爲Android)要在其中
  • 添加鏈接
  • 加載JS文件在您的index.html
  • 編輯config.xml的js文件(路徑取決於你使用哪個操作系統):

而不是增加plugi之間的插件NS標籤:

<plugin name="DatePickerPlugin" value="com.phonegap.plugins.DatePickerPlugin"/> 

您將添加一項功能是這樣的(什麼是革命!):

<feature name="DatePickerPlugin" > 
    <param name="android-package" value="com.phonegap.plugins.DatePickerPlugin"/> 
</feature> 

,就是這樣!

如果你不能確定有關PARAM名OS語法,你可以添加使用命令默認科爾多瓦插件作爲這一個:

cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git 

更多信息有: http://cordova.apache.org/docs/en/3.0.0/guide_cli_index.md.html#The%20Command-line%20Interface

+2

這適用於有問題的問題,但如何添加一個自行開發的插件,這是在本地計算機上? cordova插件添加以及它需要什麼結構? – 2013-08-30 08:13:45

+2

謝謝你的回答。不幸的是,這不再適用於cordova 3.0中的所有插件。試試例如cordova Device插件(它曾經是一個內置的API,但現在是一個插件)。到目前爲止,我發現一個原因是這樣的:提供的device.js文件不再有以下行:'define(「cordova/plugin/android/device」,function(require,exports,module){'。現在線已經由插件自動添加了!我希望有人可以提供關於插件做什麼的具體細節!+1雖然 – d777

+0

基本上插件做同樣的工作,它將文件複製到你的src文件夾(.java/.h .m和.js文件),它會在你的config.xml文件中添加一個特性,你會發現一個執行這個過程的plugin.xml文件(就像一個ant文件)。 – Ageo

7

我得到一個錯誤,當我嘗試使用以下命令來添加一個插件:

cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git 

雖然混帳克隆工作,所以我下載插件到本地文件夾,並通過使用

cordova plugin add my/local/folder 
0

對於Android的加入它,我們只需要創建插件(Java類擴展CordovaPlugin),然後添加到項目的config.xml(RES/XML/..)你完成了。

<feature name="Calendar"> 
     <param name="android-package" value="com.package.Calendar" /> 
    </feature> 

假設日曆爲您的插件名稱 另外,還要確保在本地添加鏈接到js文件

感謝

13

你能做到這樣,下載插件到您的計算機,然後運行該代碼

cordova plugin add <id located in plugin.xml> --searchpath <local path to plugin> 

這將安裝該插件到您的項目