Chromium for Android (2015)

Chromium for Android (2015)



1.前提

可用的 Linux 构建环境(windows/mac 等系统平台不支持安卓)

2.获取代码

1 )签出并安装 depot_tools 包
2 )创建一个文件夹存放源码并开始获取源代码:
$ mkdir ~/chromium                    # 如果文件夹已经存在 cd ~/chromium
~/chromium$ fetch --nohooks android   # 这个过程可能要持续30多分钟

3.检查最新的稳定版本源码 (可选)

如果你想同步一个比较稳定的版本(LKGR:last known good revision),
你可以看一下 这个最新的一个 或者 最新的100个

# 比如 lkgr-sha1:b445e7ccd70f09e53a6c93dee8a269d6bf7ee6f0
~/chromium$ gclient sync --nohooks -r <lkgr-sha1> 

4.配置你的构建环境

对于项目构建系统我们可以选择GN或者GYP,但是推荐使用 GYP 的构建方式。

1 )配置GYP:

如果你选择使用GYP,下一步就是要配置 .gclient 文件了,需要创建一个名为 chromium.gyp_env 的文件:

~/chromium$ echo "{ 'GYP_DEFINES': 'OS=android', }" > chromium.gyp_env

如果你想要构建X86架构的,可以做如下修改:

~/chromium$ echo "{ 'GYP_DEFINES': 'OS=android target_arch=ia32', }" > chromium.gyp_env

如果你想构建MIPS架构的,可以做如下修改:

~/chromium$ echo "{ 'GYP_DEFINES': 'OS=android target_arch=mipsel', }" > chromium.gyp_env

注意:如果你使用 GYP_DEFINES 环境变量,它将覆盖任何你做过修改的设置;具体的 GYP 推荐设置可以看一下 这篇文章

chromium.gyp_env设置好之后,就需要通过下面这条命令从GYP来同步项目源码:

~/chromium$ gclient runhooks
2 )配置GN:

如果你选择使用GN,那么需要创建一个文件夹并设置构建标识:

~/chromium$ gn args out/Default

Tips:
你可以使用其他的名称替换out/Default,但是不能用out/Debug 或者 out/Release*,因为这与GYP的冲突。

以下是使用GN的构建命令:

target_os = "android"
target_cpu = "arm"  # 默认,可选 "x86" 或者 "mipsel"
is_debug = true     # 默认

# 其他的几个可以设置的参数:
is_component_build = true
is_clang = true
symbol_level = 1  # 使用-g1比-g2更好一些

具体参数设置可以参考 这篇文章

5.安装JAVA JDK

安装使用 OpenJDK

安装 openjdk 1.6/1.7

~/chromium$ sudo apt-get install openjdk-7-jdk

确保设置为默认:

sudo update-alternatives --config javac
sudo update-alternatives --config java
sudo update-alternatives --config javaws
sudo update-alternatives --config javap
sudo update-alternatives --config jar
sudo update-alternatives --config jarsigner
如果你想使用 Oracle Java JDK

1 ) 访问 网址
2 ) 同意许可协议
3 ) 下载 jdk-6uXX-linux-x64.bin(XX是最新的小版本号)
4 ) 如果你没有Oracle帐号并且也不想注册一个,可以看看 这篇文章

以下是在Ubuntu中如何配置Oracle Java JDK到默认环境:

mv ~/Downloads/jdk-6u*-linux-x64.bin /tmp/
chmod 755 /tmp/jdk-6u*-linux-x64.bin
cd /usr/lib/jvm
sudo /tmp/jdk-6u*-linux-x64.bin -noregister

# 设为默认
sudo update-alternatives --install /usr/bin/javac javac
/usr/lib/jvm/jdk1.6.*/bin/javac 50000
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.6.*/bin/java 50000
sudo update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/jdk1.6.*/bin/javaws 50000
sudo update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/jdk1.6.*/bin/javap 50000
sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.6.*/bin/jar 50000
sudo update-alternatives --install /usr/bin/jarsigner jarsigner /usr/lib/jvm/jdk1.6.*/bin/jarsigner 50000
sudo update-alternatives --config javac
sudo update-alternatives --config java
sudo update-alternatives --config javaws
sudo update-alternatives --config javap
sudo update-alternatives --config jar
sudo update-alternatives --config jarsigner

确保 /usr/bin/java 是你Path中的第一个,比如执行命令:

which java

正常应该返回的是 /usr/bin/java

6.安装构建的依赖关系

1 ) 更新项目构建所需要的系统包:
~/chromium$ src/build/install-build-deps-android.sh 
2 ) 需要接受 Android SDK 包的服务条款
3 ) 安装 Google Play 服务(这是在构建之前必须要有的步骤):
~/chromium$ src/third_party/android_tools/sdk/tools/android update sdk --no-ui --filter 57

7.构建并安装APK

1)如果下面的 adb_install_apk.py 脚本失败,确保aapt在你的PATH中,如果没有需要添加到环境变量中。

/path/to/src/third_party/android_tools/sdk/build-tools/{latest_version}/

2)插入你的安卓设备,设置->关于手机->构建次数修改为7次,设置->开发人员选项->USB调试修改为启用。
3)连接电脑时可能会有提示是否允许访问电脑,选择允许。
4)可以通过以下命令检测你的安卓设备是否连接成功:

third_party/android_tools/sdk/platform-tools/adb wait-for-devices

如果它马上终止了说明连接成功了,如果是挂起了说明设备尚未连接。

构建完整的浏览器:
~/chromium/src$ ninja -C out/Release chrome_public_apk
~/chromium/src$ build/android/adb_install_apk.py out/Release/apks/ChromePublic.apk

Tips: 如果是GN构建方式 out/Release 需要替换成你自己设置的名称

构建Content Shell:

这个壳具体的内容模块可以看一下 这篇文章

~/chromium/src$ ninja -C out/Release content_shell_apk
~/chromium/src$ build/android/adb_install_apk.py out/Release/apks/ContentShell.apk

Tips: 这将会在 out/Release/apks/ContentShell.apk 构建并安装一个安卓的apk安装包。对于GYP来说,如果你想生成一个调试版本可以修改Release为Debug,如果是GN那么就要修改为你自己设置的名称。

如果你要使用自定义的输入目录代替标准的out/dir,可以使用 CHROMIUM_OUT_DIR 来设置:

> export CHROMIUM_OUT_DIR=out_android
构建WebView Shell:

AndroidWebView 是一个系统的框架组件,Android KitKat基于chromium的 content模块 实现的。
WebView的外壳是顶部一个 URL地址栏 加上一个在Android系统中独立的WebView。
缺点就是这个shell只能在软件渲染模式中运行。

~/chromium/src$ ninja -C out/Release android_webview_apk
~/chromium/src$ build/android/adb_install_apk.py out/Release/apks/AndroidWebView.apk

如果你想测试一下完整的Android系统的Webview和chromium中的webview有什么不同,可以看一下 这篇文章

8.运行

环境设置:

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

具体的命令行参数设置可以参考 这篇文章

运行 Chrome public:
~/chromium/src$ build/android/adb_run_chrome_public http://www.baidu.com
运行 Content shell:
~/chromium/src$ build/android/adb_run_content_shell http://www.baidu.com
运行 Android WebView shell:
~/chromium/src$ build/android/adb_run_android_webview_shell http://www.baidu.com

9.调试

调试 Chrome public:
~/chromium/src$ build/android/adb_gdb_chrome_public
调试 Content shell:
~/chromium/src$ build/android/adb_gdb_content_shell
调试 Android WebView shell:
~/chromium/src$ build/android/adb_gdb_android_webview_shell http://www.baidu.com

10.测试

运行测试可以参考 这篇文章

11.定制

如果你想要重新构建一个特定的发布版本 libchrome.so(chromium 25以上版本)
1)在你的安卓设备上打开chrome,访问chrome://version
2)在列表中找到 Build ID,然后复制一下
3)访问 http://storage.googleapis.com/chrome-browser-components/{上面复制的BuildID}/index.html
4)根据自述文件(README)中的步骤下载列表中的文件。

12.其他

1)2015年5月23日,谷歌工程师在 reddit 宣布chromium for android 包括用户界面在内的所有源码开源!
2)刚编译的 48.0.2543.0 版本的 chrome-android apk

这里写图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
要调试 Chromium for Android 源代码,需要使用 Android Studio 和 Chromium for Android 源代码。以下是步骤: 1. 下载 Chromium for Android 源代码 从 Chromium 的官方网站上下载 Chromium for Android 源代码。下载完成后,解压到本地。 2. 安装 Android Studio 从 Android Studio 的官方网站上下载最新版本的 Android Studio。安装完成后,打开 Android Studio。 3. 导入 Chromium for Android 项目 在 Android Studio 中,选择 File -> New -> Import Project。在弹出的窗口中,选择 Chromium for Android 源代码所在的文件夹。然后按照向导完成项目导入。 4. 配置 Chromium for Android 项目 在 Android Studio 中,打开 Project Structure 窗口。选择 app 模块,并在 Dependencies 标签页中添加 Chromium for Android 的依赖库。然后在 Build Variants 标签页中选择正确的 Build Variant。 5. 配置 Chromium for Android 运行环境 在 Android Studio 中,打开 Run/Debug Configurations 窗口。点击左上角的加号,添加一个新的 Android Application 配置。在 Configuration 标签页中选择正确的模块和启动 Activity。然后在 Profiling 标签页中选择正确的调试方式。最后点击 OK 保存配置。 6. 启动调试 在 Android Studio 中,点击 Run 按钮启动调试。如果一切正常,就会在设备或模拟器上启动 Chromium for Android 应用,并进入调试模式。 以上就是调试 Chromium for Android 源代码的步骤。需要注意的是,由于 Chromium for Android 是一个庞大而复杂的项目,调试起来可能比较困难,需要具备一定的 Android 开发和调试经验。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值