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)。
- adblockplus代码下载及编译
- adblockplus for chrome代码编译
- webRTC代码下载及编译
- android系统版本代码的下载、编译及发布
- Unix网络编程代码下载安装及编译
- 下载,编译hadoop 代码
- 下载及编译 V8
- 下载及编译 V8
- 下载chrome代码并编译
- 下载chrome代码并编译
- 下载chrome代码并编译
- 下载chrome代码并编译
- android kernel下载及编译
- android源代码下载及编译
- android源码下载及编译
- Linux 内核下载及编译
- CyanogenMod源代码下载及编译
- android 源码下载及编译
- Struth2过滤报错“警告: Could not find action or result”解决办法
- 大学四年要读的101本书
- 线段树,一个更复杂的区间修改
- Oracle DB常用SQL
- 集成JPA+springmvc+spring+EJB中的Java EE应用
- adblockplus代码下载及编译
- java.lang.UnsupportedClassVersionError: **** : Unsupported major.minor version 51.0
- 十二种实践方法与我的XP心得
- 十一月份的总结
- C++学习笔记(第14章->代码重用->类模板)
- Java调用net的webservice故障排除实战分享
- JSON.NET Error Self referencing loop detected for type
- Boot Loader && BIOS
- Tomcat绑定域名