mogo浏览器

一、chromium_webview

基于chromium核心的Android WebView封装,目标是在chromium核心的基础上提供Android WebKit API全兼容的接口。目标支持平台:Android 3.2以上。项目地址:https://github.com/mogoweb/chromium_webview

本项目是受这篇文章《基于Chromium内核的Android WebView》的启发而创建的,同时参考了ChromeView开源项目。

二、mogo浏览器

mogo浏览器是一款拥有chromium核心的android浏览器。mogo浏览器是一个实验性产品,其目标是:

  1. 拥有chromium一样强大而稳定的核心;
  2. 拥有safari mobile一样优雅简洁的UI;
  3. 支持android 4.0以上android平台;
  4. 支持插件;

目前项目处于启动阶段,初步将android原生浏览器的代码挂接到chromium核心上,可以浏览网页、支持多tab,后期将持续完善。开发版本可以从这里下载。

  • 2013-09-03 v28.0.1500.94.5
    • 通过注入readabilty js脚本实现阅读模式(有待完善,对JS前端开发还不熟悉,readability js需要完善)
    • 修正下载邮件的附件时,文件名不正确的问题
  • 2013-08-27 v28.0.1500.94.4
    • 增加启用位置服务设置
  • 2013-08-24 v28.0.1500.94.3
    • 增加链接上下文菜单
  • 2013-08-18 v28.0.1500.94.2
    • 修复文件上传功能
    • 修复文件下载功能
  • 2013-08-11 v28.0.1500.94.1
    • chromium版本升级到28.0.1500.94
    • 缺省关闭内存控制功能
    • 增加显示浏览记录功能
    • 修复启动时UA设置没有生效的问题
  • 2013-07-17 v28.0.1500.37.2
    • 加入内存控制功能
    • 优化tab管理
  • 2013-07-14 v28.0.1500.37.1
    • 增加了浏览器设置功能
    • 标签页按钮加入了标签页数目指示
  • 2013-07-08 v28.0.1500.37.0
    • chromium版本升级到28.0.1500.37
    • 移除对android3.2版本的支持
    • 重新设计tab管理界面
  • 2013-05-03 v27.0.1453.49.2
    • 开启单进程模式支持
    • 在Android 3.2上使用单进程模式
  • 2013-04-28 v27.0.1453.49.1
    • 采用全新的UI,源自sdp for chromium开源项目
  • 2013-04-17 v27.0.1453.49.0
    • chromium code base 升级至v27.0.1453.49
    • 开启webgl支持
  • 2013-04-12 v26.0.1410.28.4
    • 支持chrome://形式的URL
  • 2013-04-09 v26.0.1410.28.3
    • 修正tab切换后,内容切换过来,但事件处理仍然在另外一个tab上的问题
  • 2013-04-06 v26.0.1410.28.2
    • 增加HTC flyer平板(Android 3.2系统)支持
  • 2013-03-19 v26.0.1410.28.1
    • 修复由于资源打包导致js dialog无法弹出的问题
  • 2013-03-18 v26.1410.28.0
    • chromium版本升级至26.0.1410.28
  • 2013-03-15 v0.1312.0.13
    • 修复tab无法切换和无法关闭tab的问题
  • 2013-02-26 v0.1312.0.12
    • 增加https证书信息显示
  • 2013-02-25 v0.1312.0.11
    • 增加了favicon的显示
  • 2013-02-19 v0.1312.0.10
    • 增加HttpAuth的处理,解决了无法登录路由器管理页面的问题
  • 2013-02-01 v0.1312.0.9
    • 加入快速导航栏
  • 2013-01-25 v0.1312.0.8
    • 解决页面缩略图上下颠倒的问题;
    • 删除QuickControls相关代码;
  • 2013-01-19 v0.1312.7
    • 解决HTML5 video无法播放的问题;
  • 2013-01-18 v0.1312.6
    • 修复javascript dialog无法弹出的问题;
    • 修复在HTC butterfly手机下启动崩溃问题;
  • 2013-01-15 v0.1312.5
    • 修复html select控件无法选择的问题;
    • 修复html multi select控件无边框的问题;
  • 2013-01-11 v0.1312.4
    • 增加file:///android_asset/协议的支持
    • 修改启动首页
  • 2013-01-06 v0.1312.3
    • 修复链接点击高亮位置不正确的问题
    • 修复访问www.qq.com白屏问题
  • 2013-01-05 v0.1312.2
    • 修正旋转屏幕崩溃以及显示异常的问题
    • 加入版本信息
    • 加入logo及关于对话框
  • 2013-01-04 原型版
    • 基于chromium 24.0.1312.0
    • 基于Android 4.2 browser UI
    • 实现了基本的网页浏览
    • 实现了多tab浏览

mogo浏览器》上有18条评论

  1. Pingback引用通告: 放飞梦想 » Prerender测试页面

  2. alex

    gameplayer :
    将chromium 内核 port到2.3的内核的难度相当的大,有N多的地三方库两个版本不一致。

    分析了一下,困难并不在于第三方库,因为chromium都是使用自己的第三方库,并没有使用系统的第三方库,主要的困难还是在于Java部分的代码。如果仅仅是编译chromium_testshell,应该修正过来难度不大。但是本项目使用了Android 4.2的Browser代码,使用了众多的ICS API,修改起来就麻烦了。如果开始采用了Android 2.3 Browser代码,就好解决一些。

    回复
  3. gameplayer

    这就是一般实现和工程稳定的问题。

    理论上说不同版本的第三方库在不同版本的ANDROID上的运行效果应该完全相同,实际上未必如此。N*M想起来头都大。

    GPU加速可能会是另一个难题。

    chromium的Java代码比C++可是少了太多太多。

    回复
    1. alex

      android平台分裂的状况的确令人头疼,特别是GPU加速这块,还存在很多问题,即使是google,也没能完全解决这一问题。

      回复
  4. Bob

    就我手上的这个份Google TV V4 代码来看,google 为了将chrome放到 Android 4.2上来,确实费了不少劲,工具链都是为chrome专配的

    回复
  5. dream

    2013-05-03 v27.0.1453.49.2
    开启单进程模式支持

    我将上层参数修改为AndroidBrowserProcess.MAX_RENDERERS_SINGLE_PROCESS之后,底层的库有报错,然后程序退出。用addr2line查找出崩溃的位置是在JavaBridgeDispatcher::OnRemoveNamedObject方法中。现在没什么思路去解决这个问题。
    不知道你当时实现单进程模式时,有遇到这样的问题吗?
    开启单进程模式消耗的内存是否能够比多进程模式要少?

    回复
    1. alex

      这个应该不是由于单进程引起的。没有更多的信息,我也没法帮您。单进程能节约多少内存,没有特意去统计,在实际产品中并没有启用,这个是为了在我的HTC flyer上运行而加的

      回复
  6. davidbilly

    请问支持插件是只什么呢?

    和android webview : setPluginState(WebSettings.PluginState.ON); 是一样的吗?

    问题是我尝试游览flash website 不能正常播放,要flash plugin :s

    回复
  7. tangtao

    请问取chromium版本并且编译,是下面的命令吗?
    Checked out the source for build 32.0.1665.2
    gclient config https://src.chromium.org/chrome/releases/32.0.1665.2
    vi .gclient.
    target_os = ['android']
    gclient sync

    cd /path/to/chromium/src
    ./build/install-build-deps.sh
    gclient runhooks

    Compile :
    . build/android/envsetup.sh
    android_gyp
    ninja -C out/Release -j10 content_shell_apk

    回复

发表评论

电子邮件地址不会被公开。

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>