如何强制cordova重新编译添加的插件?

ami*_*min 15 cordova cordova-plugins

它似乎cordova缓存编译的插件,当我更改插件的源代码(.javaWindows上的文件)时,强制cordova重新编译插件的唯一方法是删除然后再添加该插件,这是一个痛苦.有没有办法清理cordova缓存或强制它重新编译添加的插件?

小智 14

Afaik没有办法重新编译原始文件.

最快和最脏的方式(仍然是最好的快速检查)是更改下的文件

例如(Android)

平台/安卓/ src目录/ YOUR_PACKAGE/FILE_TO_CHANGE

这样它会自动重新编译.

显然,这个文件可以很容易地被删除或覆盖,因此它只是一种快速测试SMALL变化的方法.


Miq*_*uel 9

不是afaik,我发现的唯一解决方法是每次准备应用程序时使用before_prepare脚本删除并添加插件:

/
|--hooks/
   |--before_prepare/
      |--000_RefreshPluginXXX.sh
Run Code Online (Sandbox Code Playgroud)

000_RefreshPluginXXX.sh:

!#/user/bin/env bash
cordova plugin rm yourPlugin
cordova plugin add yourPlugin
Run Code Online (Sandbox Code Playgroud)

详情请见此处.希望sh文件在windows环境下工作,否则你可以用.bat文件来实现.

请注意,每次准备应用程序时,都要删除,下载并重新安装每个平台的指定插件(在构建/模拟/编译时进行准备)

  • 它将重新下载该插件,这意味着我所有的更改都将丢失:| (2认同)

小智 5

从cordova> = 6.0,您可以将本地插件路径安装并链接到项目,而不是复制它,因此它将在每次构建时重新编译。

cordova plugin add /local/path/to-plugin/ --link    
Run Code Online (Sandbox Code Playgroud)

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