adblockplus代码下载及编译

来源:互联网 发布:潘粤明和董洁 知乎 编辑:程序博客网 时间:2024/06/14 16:39

首先,需要说明的是adblockplus源码的下载方式主要有三种:代码压缩包下载、git下载、mercurial即hg下载。三种方式最大的差异在于前两者仅包含核心代码,不能进行编译;而第三种方式则包含了各个平台的代码、编译工具链、测试代码等;因此,如果只是为了分析adblockplus核心代码,则前两种方式下载即可,而如果需要在本地编译调试,则必须使用第三种方式。下图中为adblockplus for chrome代码目录结构(不同下载方式可能会有所不同,如从github上下载的压缩包内容和hg方式下载代码内容更接近),左侧为利用mercurial工具下载的代码目录,右侧为gz压缩包方式下载的代码目录,可以看出差别还是挺大的。


三种下载方式:

1、压缩包方式下载:在https://hg.adblockplus.org/中可选择对应平台(adblockplus、adblockplusandroid、adblockpluschrome、adblockplusie、adblockplusopera及adblockpluscore)的adblockplus代码及不同的压缩包(zip、gz、bz2);

2、git方式下载:首先需要在github上https://github.com/adblockplus找到对应平台的代码目录,然后利用git clone命令下载对应的代码,如firefox平台代码可利用命令git clone https://github.com/adblockplus/adblockplus进行下载,并可以利用git checkout XXX命令切换至不同的版本号分支上。

3、hg方式下载:首先需要安装mercurial工具(可在http://mercurial.selenic.com/下载),并在mercurial服务器https://hg.adblockplus.org/上找到对应平台的代码入口,如chrome的adblockplus代码可以利用hg clone https://hg.adblockplus.org/adblockpluschrome/命令进行下载,并可以利用hg update -r XXX切换至不同的版本号分支上。


代码编译:

在利用上述第三种方式获得源码之后,如需编译代码,首先需安装python 2.X(https://www.python.org)、Jinja2(https://pypi.python.org/pypi/Jinja2)等工具。python工具可以直接安装,Jinja2依赖于python工具,安装可能会比较麻烦,可以选择利用easy_install或pip脚本(可在http://svn.python.org/projects/sandbox/trunk/setuptools/#egg=setuptools-dev或者https://pypi.python.org/pypi/pip下载对应脚本放在python安装目录下)执行python easy_install Jinja2或者python pip install Jinja2命令进行安装最新版本的Jinja2,也可直接下载Jinja2源码tar包解压后执行python setup.py install进行安装。


好了,一切准备就绪,就可以进行代码编译了,进入源码根目录:参照README.md中的指导执行python build.py build和python build.py autoinstall 8888进行编译和安装。不过这种简单的编译方法还只能编译firefox版本的adblockplus(默认生成如adblockplus-2.6.6.0.xpi的文件),对于chrome版本的编译安装方法还在探索中(python build.py -t chrome build)。



   

0 0