标签:
OTA整体框架里会涉及以下代码,从gaia到gecko都有,而且由于历史原因,复用了desktop browser的一些模块,还有一些冗余代码,分析时走了不少弯路。
1. Gaia部分
(a) gaia/apps/settings/js/panels/about/update_check.js
这个Settings中OTA功能的入口,通过AMD(Asynchronous Module Definition)规范,定义了一个模块UpdateCheck。
(b) gaia/apps/system/js/update_manager.js
这是SystemApp导出的全局对象:window.UpdateManager,它是Gaia层与Gecko层通信的桥梁,通过mozContentEvent&mozChromeEvent进行通信。
(c) gaia/apps/system/js/updatable.js
这是一个辅助类,updatable.js的开头注释中很好的描述了它的的职责:它代表了一个system update(SystemUpdatable)或者一个application update(AppUpdatable,暂时不分析),XXXUpdatable与window.UpdateManager通信,处理download等相关动作。
2. Gecko部分
Gecko中的代码比较分散,大致在3个位置,分别是:
(FFOS Gecko & Gaia) OTA - 代码模块总览
标签:
原文地址:http://www.cnblogs.com/code-4-fun/p/4701452.html