Firebreath是一个能方便创建浏览器插件框架。Firebreath构建的插件的工作原理是NPAPI和ActiveX(仅Windows平台)。
1.Firebreath具有跨平台、支持多浏览器的特性,是一个优秀的跨平台跨浏览器的解决方案;
支持windows、Linux、mac等平台, 支持firefox、chrome(新版本已摈弃使用NPAPI插件).
2.Firebreath能自动帮我们创建一些基础类和实现,提高开发效率;
要使用firebreath来开发插件,需要准备并下载以下东西:
firebreath的源代码、boost库
python
CMake
GTK(Linux平台)
注:
firebreath的源码可以到github上下载最新版本:
Checkout latest source from GitHub
git clone git://github.com/firebreath/FireBreath.git firebreath-dev
Checkout the FireBreath-1.7 branch from GitHub
git clone git://github.com/firebreath/FireBreath.git -b firebreath-1.7 firebreath-1.7
也可以下载zip包(1.7稳定版):
.tar.gz
.zip
如果你没有安装boost库或想使用firebreath的boost库,还需下载boost库:
Boost 1.50.0 (FireBreath 1.7 and later)
.tar.gz
.zip
下载完后,将boost/ 和 libs/两个文件夹下的所有文件分别拷贝到
/src/3rdParty/boost/boost/和/src/3rdParty/boost/libs/目录下。
参考文件:
http://www.firebreath.org/display/documentation/Download
一、准备工作
要使用firebreath来开发插件,需要下载以下东西:firebreath的源代码、python、CMake。安装python(可以是2.5 2.6 2.7版本,我下载的是2.7版本),注意python最好安装在firebreath的工程目录中。安装CMake(我下载的最新版本),注意安装过程中请选择添加到环境变量。
二、添加新的plugin配置
1.运行cmd(win7请以管理员身份运行),转到firebreath的根目录下:(如 cd E:\CMakeTest\firebreath)
2.运行fbgen.py: Python27\python.exe fbgen.py
3.输入Plugin的相关配制信息
如:
E:\CMakeTest\firebreath>python fbgen.py
Plugin Name [MPPReader]:
Plugin Identifier [MPPReader]:
Plugin Prefix [MRE]:
Plugin MIME type [application/x-mppreader]:
Plugin Description [CEBX and OFD reader.]:
Plugin has no UI [false]:
Company Name [founder apabi]:
Company Identifier [www_apabi_cn]:
Company Domain [www.apabi.cn]:
4.完成之后在firebreath根目录下会产生一个projects文件夹,里面就是刚刚建立的工程的源文件了。
三、创建工程
1.在cmd窗口中,将当前目录定位到firebreath的根目录,输入prep2010.cmd;我使用VS2010来开发,因此运行prep2010.cmd、如果你使用其他版本请使用相应的prep文件(如VS2012用prep2012.cmd)。
2.运行完毕就创建好工程了,在firebreath根目录下的build文件夹下面会生成很多文件,其中有一个FireBreath.sln就是我们熟悉的VS解决方案(Solution)文件了。双击这个文件就可以用VS打开这个解决方案了。
3.用VS打开后,编译整个Solution。
整个过程完成之后就会在~FireBreath\build\bin\MPPReader\Debug\下面找到npMPPReader.dll,这就是我们生成的plugin了。在~FireBreath\build\projects\MPPReader\gen\目录下可以找到FBControl.htm文件,这个文件就是我们这个plugin的测试页面。
为测试方便,可把FBControl.htm和要打开的OFD文件都放到~FireBreath\build\bin\MPPReader\Debug\目录下
一、安装必要的库
1 yum –y install gcc-c++ libuuid-devel bzip2-devel fontconfig-devel zlib-devel gdb wxGTKdevel wxBase libgtk2.0-devel git
2 安装cmake,版本要求>2.6,本例提供的cmake安装包为cmake-2.8.11.tar.gz,版本为2.8.11,安装方法如下:
1解压文件
2 ./config –prefix=/usr
3. make && make install
二、编译FireBreath工程
以下编译过程为原始FireBreath框架编译过程:
1 sudo wget –O ./firebreath.tar.gz
https://github.com/firebreath/FIreBreath/tarball/master
2 sudo tar –xzvf firebreath.tar.gz
sudo mv ./firebreath-FireBreath-* ./firebreath
3 sudo mkdir ./projects
4 创建插件工程:
sudo python ./fbgen.py
执行到这步时按照提示输入相关信息,如,在需要输入项目名称的地方输入:MPPReader.
5 生成与工程对应的构建文件
sudo ./prepmake.sh ./projects/MPPReader 此时生成的工程为Release版本,生成的默认路径为 /firebreath/build.
如果要在特定的目录下生成Debug版本的构建文件,使用如下命令:
sudo ./prepmake.sh ./projects/MPPReader PATH
–D CMAKE_BUILD_TYPE=”Debug” 其中PATH为自定义路径
6 构建项目,以默认生成路径为准:
cd ./build
sudo make
7 部署和测试
将生成的插件文件npMPPReader.so(在 firebreath/build/bin/MPPReader/目录中)拷贝到/usr/lib/mozilla/plugins/目录中,然后到 firebreath/build/projects/MPPReader/gen/目录中,使用浏览器打开FBControl.htm文件进行插件测试,看到:
-----------------------
Plugin loaded!
-----------------------
[OK]
插件加载成功。