如何在Ubuntu下编译Chromium for Android

1. 先有Ubuntu。。。

2. 下载depot_tools工具:卤煮是在~/chromium/目录下执行下载的,执行: ~/chromium $ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git; 如果在/bin目录下创建,还需要执行一步: ~/bin/depot_tools/ $sudo chmod 777 depot_tools ,因为下载源码的时候,也会在depot_tools工具下载一些东西

3. 将depot_tools工具加入环境变量: ~/chromium $ export PATH=$PATH:/home/www/chromium/depot_tools;

4. 下载代码: ~ $ cd ~/chromium; ~/chromium $ fetch --nohooks android --nosvn=True;下载代码失败了或者网络断开了,想再次下载代码,只需要同步即可,执行: ~/chromium $ gclient sync

同样的,可以使用 ~/chromium $ git clone https://chromium.googlesource.com/chromium/src 来下载代码,但这种不会自动生成.gclient文件,还需要手动创建,建议不这么做

.gclient文件内容大致是:

solutions = [
  {
    "managed": False,
    "name": "src",
    "url": "https://chromium.googlesource.com/chromium/src.git",
    "custom_deps": {},
    "deps_file": ".DEPS.git",
    "safesync_url": "",
  },
]
target_os = ["android"]

如果不想下载无用的代码,可以在custom_deps中增加如下代码

"src/content/test/data/layout_tests/LayoutTests": None,
"src/chrome/tools/test/reference_build/chrome_win": None,
"src/chrome_frame/tools/test/reference_build/chrome_win":None,
"src/chrome/tools/test/reference_build/chrome_linux":None,
"src/chrome/tools/test/reference_build/chrome_mac": None,
"src/third_party/hunspell_dictionaries": None,

5. 代码下载完成后,就需要安装一些编译所需的基本依赖: ~/chromium $ sudo src/build/install-build-deps-android.sh

6. 指定编译的平台,配置GYP: ~/chromium $ echo "{ 'GYP_DEFINES': 'OS=android', }" > chromium.gyp_env  这样就会生成一个chromium.gyp_env文件

然后在 ~/chromium $ gclient runhooks 下载一些编译的依赖

7. 配置openjdk 1.7

~/chromium $ sudo update-alternatives --config javac
~/chromium $ sudo update-alternatives --config java
~/chromium $ sudo update-alternatives --config javaws
~/chromium $ sudo update-alternatives --config javap
~/chromium $ sudo update-alternatives --config jar
~/chromium $ sudo update-alternatives --config jarsigner

老版本的ubuntu 可直接用 ~/chromium $ sudo apt-get install openjdk-7-jdk 来安装

新版本的话可能只能安装openjdk 1.8,如果不会安装,请参考我的另一篇博文第一步即安装openjdk7

8. 配置GN

~/chromium/src $ gn args out/Default

# Build arguments go here. Examples:
#   is_component_build = true
#   is_debug = false
# See "gn args <out_dir> --list" for available build arguments.
target_os = "android"
#target_cpu = "arm"  # (default)
#is_debug = true  # (default)

# Other args you may want to set:
is_component_build = true
is_clang = true
symbol_level = 1  # Faster build with fewer symbols. -g1 rather than -g2
enable_incremental_javac = true  # Much faster; experimental

然后保存,GN就会自动配置,在配置完后,就可以进行编译了

9.编译:

~/chromium/src $ source build/android/envsetup.sh

~/chromium/src $ ninja -C out/Default chrome_public_apk  (编译整个chromium)

~/chromium/src$ ninja -C out/Default android_webview_apk  (只编译WebView)

编译好的apk目录: ~/chromium/src/out/Default/apks

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值