d777
d777

Reputation: 100

Manually install Device plugin (and others) into cordova 3.0

Phonegap/Cordova 3.0 has moved into a modular design starting with version 3.0. For example, to call the device.version API, you need to include the Device plugin into your project.

Anyone can provide me with clear instructions on how to install the Device (or any other) cordova API plugin into a new iOS project (using XCode) AND Android (using Eclipse)?

All I could find is details using Node.js and/or PlugMan. Needing an automated script to do the basic job of adding a plugin is undesirable to me, as I do not like processes doing things I don't understand (behind the scene).

In the past (cordova 2.9), I did the following to add a third-party plugin in (say Android) that worked perfectly:

  1. Put the plugin .java code into the /src folder
  2. Put the plugin .js code in my www folder
  3. Import the .js file into index.html
  4. Add the feature tag in config.xml
  5. Call the plugin in Javascript

I never added plugins in iOS before.

However, I assumed the above process should work just fine for cordova-based plugins, but it did not. Up to this point, I did not try Android, but I tried iOS with no luck.

I included CDVDevice.h and CDVDevice.m in /plugins folder. Also I imported the device.js into index.html, and modified config.xml! I will try Android only after finishing iOS.

Please, if you know how to do this manually let me know.

Thank you in advance.

Upvotes: 5

Views: 26971

Answers (4)

Rafael Amsili
Rafael Amsili

Reputation: 739

You can do it this way, download the plugin locally to your machine then run this code

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

This will install the plugin into your project

Upvotes: 14

Binod Singh
Binod Singh

Reputation: 712

For Android we just need to create the plugin (Java class extending CordovaPlugin) and then add the item into config.xml (res/xml/..) you are done.

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

assume Calendar as your plugin name Also make sure to add link to js file

Thanks

Upvotes: 0

M.A.Naseer
M.A.Naseer

Reputation: 343

I was getting an error when I tried to add a plugin using the following command:

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

Although, git clone was working, so I downloaded the plugin into a local folder and added it by using

cordova plugin add my/local/folder

Upvotes: 7

Ageo
Ageo

Reputation: 159

I ran into the same issue.

In fact, the plugin system has not changed much.

I added the date picker plugin for Android just now :

  • add classes (.m .h for iphone, .java for android)
  • add js files where you want
  • add link to js files in your index.html
  • edit config.xml (path depends on which OS you used) :

Instead of adding plugins between plugins tags :

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

You will add a feature (what a revolution !) like this :

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

And that is it !

If you are not sure about the OS syntax for param name, you can add a default cordova plugin using a command as this one :

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

More info there : http://cordova.apache.org/docs/en/3.0.0/guide_cli_index.md.html#The%20Command-line%20Interface

Upvotes: 10

Related Questions