[Cordova] 无法编译Visual Studio项目里Plugin副本的Native Code

时间:2021-02-21 22:40:02

[Cordova] 无法编译Visual Studio项目里Plugin副本的Native Code

问题情景

开发Cordova Plugin的时候,开发的流程应该是:

  1. 建立Cordova Plugin
  2. 发布到本机文件系统或是Git服务器
  3. 使用Visual Studio挂载Plugin
  4. 编译并执行项目

在这个开发的过程中,如果在编译并执行项目的这个步骤,发现Plugin的Native Code需要修正。直觉的想法,会是直接修改Cordova项目里Plugin副本的Native Code之后,再重新编译并执行项目,来确认看看修改是否正确。而实际这样去执行,会发现修改Plugin副本的Native Code,再重新编译项目的时候,修改内容并不会被编译与执行。(清除项目再重建也是一样的结果)

[Cordova] 无法编译Visual Studio项目里Plugin副本的Native Code

解决方案

经过排查各种操作方式之后,推测发生上述问题的原因,应该是Cordova为了缩短编译的时间,Plugin里面的Native Code只有在必要的时候才会编译。而修改Plugin副本Native Code的这个动作,在目前这个版本(14.0.50925.4),显然不是定义为需要侦测并且重新编译的范围。

知道问题的原因之后,解决方案也就很简单。既然修改Plugin副本Native Code的这个动作并不会触发重新编译,那就直接删除Cordova的编译结果:「platforms文件夹」,强迫Cordova重新编译项目,这样就可以让修改过的Native Code被Cordova给重新编译。

[Cordova] 无法编译Visual Studio项目里Plugin副本的Native Code