在VS 2008下成功编译Chrome

 

源码之前了无秘密 - 侯捷的《STL源码分析》
他这里的源码主要是指阅读源码,基于这个定义,个人将这句话稍作修改:源码 + 调试之前了无秘密。
抱着研究的态度,今天用VC++ 2008编译了Chrome的源码(现在机器上的VC++版本只剩2008了),现将编译流程描述如下:

1.   TortoiseSVN下载最新的Chrome源码,假设下载到了目录“G:/Chrome/src/”下,以后的目录布局都基于这个假设

2.   准备Chrome依赖的源码

a)   无需下载的
   
编译时,Chrome依赖的第三方代码都应该在“G:/Chrome/src/src/third_party”,但是很奇怪,Chrome将六个项目放在了“G:/Chrome/src/deps/third_party”下。网上有同仁也提出了这个问题,他们的解决方法是将这六个项目copy一份到“G:/Chrome/src/src/third_party”,相当管用。但本人本着节约型社会,硬盘虽大,仍需节省利用的原则,使用了微软的官方工具junction通过创建软链接解决了这个问题,所使用命令如下 (注意:命令是在目录G:/Chrome/src/下执行):
   junction src/third_party/icu38 G:/Chrome/src/deps/third_party/icu38
   junction src/third_party/cygwin G:/Chrome/src/deps/third_party/cygwin
   junction src/third_party/cygwin_src G:/Chrome/src/deps/third_party/cygwin_src
   junction src/third_party/python_24 G:/Chrome/src/deps/third_party/python_24
   junction src/third_party/WebKit G:/Chrome/src/deps/third_party/WebKit
   junction src/third_party/svn G:/Chrome/src/deps/third_party/svn
  
   junction
的下载地址是http://technet.microsoft.com/en-us/sysinternals/bb896768.aspx

b)       需要重新下载的
  
还有五个项目需要重新下载,分别是open-vcdiffgtestgoogleurlv8breakpad
    
利用TortoiseSVN下载open-vcdiff的地址是http://src.chromium.org/svn/branches/official/build_154.9/src/sdch
    
下载到本地目录G:/Chrome/branches/build_154.9/src/sdch
    
利用TortoiseSVN下载gtest的地址是http://googletest.googlecode.com/svn/trunk
    
下载到本地目录G:/Chrome/gtest/trunk
    
利用TortoiseSVN下载googleurl的地址是http://google-url.googlecode.com/svn/trunk
    
下载到本地目录G:/Chrome/google-url/src
    
利用TortoiseSVN下载v8的地址是http://v8.googlecode.com/svn/trunk
    
下载到本地目录G:/Chrome/v8/trunk
    
利用TortoiseSVN下载breakpad的地址是http://google-breakpad.googlecode.com/svn/trunk
    
下载到本地目录G:/Chrome/google-breakpad/trunk
   
    
创建软链接所使用命令如下:
      junction src/sdch/open-vcdiff ../branches/build_154.9/src/sdch/open_vcdiff/depot/opensource/open-vcdiff
      junction src/testing/gtest ../gtest/trunk
      junction src/googleurl ../google-url/src
      junction src/v8 ../v8/trunk
      junction src/breakpad/src ../google-breakpad/trunk/src

c)         编译v8项目
     
VS 2008打开和编译G:/Chrome/v8/trunk/tools/visual_studio/v8.sln,打开时会提示你转换项目,直接转换,没有问题,编译后顺利的话应该在目录G:/Chrome/v8/trunk/tools/visual_studio/Debug/lib下生成v8.lib

3.   修改Chrome项目

a)    修改G:/Chrome/src/src/build/debug.vsprops,将 
         <Tool
  Name="VCLinkerTool"
  LinkIncremental="2"
   />
       
修改成

         <Tool
  Name="VCLinkerTool"
  LinkIncremental="2"
  AdditionalDependencies="$(SolutionDir)../v8/tools/visual_studio/Debug/lib/v8.lib"
    />

b)   打开G:/Chrome/src/src/chrome/chrome.sln,将文件G:/Chrome/src/src/testing/gtest/src/gtest-test-part.cc文件添加到项目test/gtest

4.   开始编译吧 :),喝杯开水,看看paper,静候成功

5.   运行G:/Chrome/src/src/chrome/Debug/chrome.exe看看编译的成果吧 :)

 

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
好的,以下是详细的步骤: 1. 安装必要的软件和工具编译 Chrome Android 源码之前,你需要先安装一些必要的软件和工具。具体包括: - Git:用于下载源码和更新代码。 - Python:用于运行 Chromium 的脚本。 - Android Studio:用于设置 Android SDK 和 NDK 的路径。 - JDK:用于编译 Java 代码。 2. 下载 Chrome Android 源码 你可以通过 Git 命令行或者 Github 网站来获取源码。以下是通过 Git 命令行来下载源码的步骤: 在终端中输入以下命令: ``` git clone https://chromium.googlesource.com/chromium/src.git ``` 这个过程可能需要几分钟或者更长时间,具体取决于你的网络速度和电脑性能。 3. 配置编译环境 在编译 Chrome Android 源码之前,你需要设置 Android 的 SDK 路径、NDK 路径、JDK 路径等。 首先,打开 Android Studio,选择 Configure -> SDK Manager。在 SDK Platforms 标签页中,确保你已经下载了 Android 版本的 SDK。在 SDK Tools 标签页中,确保你已经下载了 Android NDK。 然后,设置环境变量。在终端中输入以下命令: ``` export PATH=$PATH:/path/to/android-sdk/tools:/path/to/android-sdk/platform-tools export PATH=$PATH:/path/to/android-ndk export PATH=$PATH:/path/to/jdk/bin ``` 在这些命令中,将 `/path/to/android-sdk`、`/path/to/android-ndk`、`/path/to/jdk` 替换为你实际的路径。 4. 运行 Chromium 的脚本来编译 Chrome Android 在终端中进入源码目录: ``` cd src ``` 然后,运行 Chromium 的脚本来编译 Chrome Android。以下是一些常用的命令: - 编译 Release 版本: ``` gn gen out/Default --args='target_os="android" target_cpu="arm64" is_debug=false' ``` - 编译 Debug 版本: ``` gn gen out/Default --args='target_os="android" target_cpu="arm64" is_debug=true' ``` - 编译所有环境: ``` autoninja -C out/Default chrome_public_apk ``` 在编译的过程中可能会出现错误,需要根据错误提示进行调整。 5. 等待编译完成 整个编译过程可能需要几个小时,具体时间取决于你的电脑性能和网络速度。在编译完成后,在 `out/Default/apks` 目录中可以找到编译好的 APK 文件。 希望这些步骤能够帮助你成功编译 Chrome Android 源码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值