Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to force cordova to recompile added plugins?

It seems cordova caches compiled plugins, when i change the source code of plugins (.java files on windows), the only way to force cordova to recompile the plugin is to remove and then add that plugin again, which is a pain . Is there any way to clean cordova cache or force it to recompile added plugins ?

like image 613
amin Avatar asked Oct 21 '14 07:10

amin


3 Answers

Afaik there's no way to recompile the original files.

The quickest and most dirty way (still the best for quick checks) is to change the files under

e.g. (Android)

platforms/android/src/YOUR_PACKAGE/FILE_TO_CHANGE

that way it's automatically recompiled.

Obviously this file can be easily deleted or overwritten so it's just a way to quickly test SMALL changes.

like image 97
Harald Avatar answered Oct 03 '22 16:10

Harald


From cordova>=6.0 you can install and link your local plugin path to the project instead of copy it so it will recompile each time you build.

cordova plugin add /local/path/to-plugin/ --link    

https://cordova.apache.org/docs/en/6.x/reference/cordova-cli/index.html#cordova-plugin-command

like image 32
David Gallardo Avatar answered Oct 03 '22 14:10

David Gallardo


Not afaik, the only workaround I've found is to use a before_prepare script to remove and add the plugin every time you prepare the app:

/
|--hooks/
   |--before_prepare/
      |--000_RefreshPluginXXX.sh

000_RefreshPluginXXX.sh:

!#/user/bin/env bash
cordova plugin rm yourPlugin
cordova plugin add yourPlugin

See here for details. Hope that sh file works under windows environment, otherwise you can do it with a .bat file.

Beaware that this is going to remove, download and reinstall the specified plugins for every platform every time that you prepare your app (prepare occurs when you build/emulate/compile)

like image 22
Miquel Avatar answered Oct 03 '22 14:10

Miquel