-->

Adding Cordova (Phonegap) Plugins manually to exis

2020-07-21 11:16发布

问题:

I'm trying to add additional Phonegap plugins (namely, the File plugin) to an existing android application that uses Phonegap.

I've tried navigating to my project directory (in my workspace) and then run the command

cordova plugin add https://theurlwhichworks.org/ 

It says the plugin is installing, and when I go to look in my workspace on my computer, there is a folder titled plugins, and inside, a directory called

org.apache.cordova.file

which means that the plugin (apparently) downloaded correctly, but doesn't seem to have been added to my project.

Is there any way to manually add this plugin (or others) to my android project directly? I build+run my application to an attached device from eclipse, because anytime I try to use the CLI with regard to cordova/phonegap I always seem to be doing something wrong, or the result is not at all what I expected.

Hopefully it is possible to add these plugins manually. I appreciate any suggestions

回答1:

It is possible to add plugins manually, and that is how we did it in the old days before the Cordova/Phonegap CLI or PlugMan

options

A. use PlugMan directly

npm install -g plugman

check out the plugman documentation. Outside of a Cordova project, plugman is your best bet for a clean automated install

B. manually

  1. add the .java files to the android project src/ directory remember their path has to match their namespace

  2. dump the plugin js file somewhere in assets/www/*

  3. add a feature tag to platform config.xml

It has been a long time since I added a plugin manually, and the cordova plugin spec has gone through major changes multiple times since then. You may need to manually include the plugin js implementation (eg via script tags in index.html)

I would highly recommend you use PlugMan, or at least try before the manual install.



回答2:

Seems you're using eclipse.

A cordova 3.x project looks like this :

/www
/plugins
/platforms
/platforms/android
/platforms/android/assets/www
...

When you run cordova plugin add https://theurlwhichworks.org/ the plugin is added only in the /plugins folder but not in your platform folder.

In your eclipse project you only see /platforms/android folder.

To actually add the plugin to the android platform, you have to build the platform :

cordova build android

or at least prepare the platform (same as build but does not try to compile):

cordova prepare android

But be aware that when you either build or prepare, the content of the platform/android/assets/www folder will be replaced with the content of the root www folder.

So if you've been modifying directly the assets/www folder in eclipse, DO NOT FORGET TO SAVE IT BEFORE YOU BUILD OR PREPARE!!!



回答3:

Every time plugins start acting funny for me I usually remove and re-add the platform and everything usually sorts itself out. The commands for Android for example,

cordova platform remove android

cordova platform add android

If your plugin list has what you expect, re-adding the platform re-downloads all the plugins.