我正在学习为Firefox开发插件。我观察到的是,对于每个jpm sign
,经过验证的.xpi
的大小比之前的.xpi
文件大小增加了两倍,即使插件文件的更改非常小。
以下说明了该方案:
02/22/2016 04:42 PM 10,067 el-0.0.1-fx+an.xpi
02/22/2016 05:52 PM 20,357 el-0.0.2-fx+an.xpi
03/01/2016 01:04 AM 44,443 el-0.0.4-fx+an.xpi
03/01/2016 01:49 AM 89,953 el-0.0.5-an+fx.xpi
03/01/2016 11:34 PM 180,059 el-0.0.6-an+fx.xpi
任何人都可以告诉我这背后的原因是什么?最好知道将相对文件大小保留为代码更改量的可能选项。
答案 0 :(得分:2)
很抱歉发布答案,以这种方式更具可读性。好吧,我花了一段时间来弄清楚这个问题。虽然jpm sign
创建了一个临时@xyz.xpi
文件,但它会获取工作目录中的所有.xpi
个文件,并将它们捆绑在一个.xpi
文件中,从而导致大小呈指数级增长(所有.xpi文件大小的总和)。
删除旧的*.xpi
文件后,现在新签名的.xpi
文件的大小相对于代码大小来说是非常合理的。
存在旧.xpi
个文件时:
02/22/2016 04:42 PM 10,067 el-0.0.1-fx+an.xpi
02/22/2016 05:52 PM 20,357 el-0.0.2-fx+an.xpi
03/01/2016 01:04 AM 44,443 el-0.0.4-fx+an.xpi
03/01/2016 01:49 AM 89,953 el-0.0.5-an+fx.xpi
03/01/2016 11:34 PM 180,059 el-0.0.6-an+fx.xpi
删除旧.xpi
个文件后:
03/02/2016 03:51 PM 15,783 el-0.0.8-fx+an.xpi