首页 > chromium研究 > Chromium for Android第一手尝鲜

Chromium for Android第一手尝鲜

2012年5月24日 发表评论 阅读评论

转载时请注明出处和作者联系方式: https://mogoweb.net(betway官网首页) betway官网首页@gmail.com

最近一段时间为了移植webkit忙得焦头烂额,好久都没有关注Chromium for Android的进展了。Chrome for Android又升级了,虽然仍然是beta版,但性能已经提升了不少,不过没有开源,所以也不知道google做了什么,能够大幅提升性能。前几天又更新了一下chromium的源码,发现增加了不少java代码,android的移植代码基本就绪,build target增加了content_shell_apk。尝试着build了一把,最终编译出ContentShell-debug.apk,看文件大小,吓了一跳,有300多M,展开后,里面有个libcontent_shell_content_view.so高达800多M。仔细再看了一下,原来脚本中只对libs/armeabi-v7a/libcontent_shell_content_view.so进行了strip,尺寸立马减少到20多M,而libs/armeabi/libcontent_shell_content_view.so则是未strip的版本,800多M。把libs/armeabi/libcontent_shell_content_view.so删掉,重新打包,最终APK只有12M。

这个Content Shell比较类似于test_shell程序,只提供简单的UI,是用来验证移植正确性的,所以并不是真正意义上的浏览器。不过开发者可以基于这个,加上UI外壳,就可以包装成一个浏览器了。不过目前这个Content Shell程序还未完善,放到模拟器和手机上只显示一片空白。

大概研究了一下chromium android的移植代码:

    1. 与Android framework相关的移植代码使用java编写,chromium项目甚至写了一个程序来自动生成JNI接口。
    2. Java部分的代码是使用ant编译和打包的。
    3. src/build/android/gdb_content_shell脚本用于调试native代码。
    4. 运行build/install-build-deps-android-sdk.sh脚本,将ndk原始的arm-linux-androideabi-ld替换成gold版本,这可以极大的提升链接速度(i7 2630QM, 4G RAM,link一次20~30分钟)。在没有替换之前,link一次需要花上2、3个小时。
    5. 只支持android 4.0以上版本。

Chromium for Android虽然不完善,但是大部分移植工作都已经完成,剩下的只需要提供UI即可,这可是国内厂商擅长的事情。还犹豫什么,赶快投入到chromium for android上面来吧。

2012-08-02补充:

解决了网页显示问题,虽然还存在bug,不过网页加载流程及渲染的流程已经打通了。下面是截图:

查看进程信息:

转载时请注明出处和作者联系方式: Chromium for Android第一手尝鲜(betway官网首页) betway官网首页@gmail.com

分类: chromium研究 标签: ,
  1. zs
    2012年11月23日15:27 | #1

    楼主,您好,我刚接触android chromium, 请问编译chromium for android前,必须先 install API keys 吗?

  2. roger
    2012年12月11日19:02 | #2

    @gameplayer
    如何让Chrome for Android运行在单进程模式?

  3. gameplayer
    2012年12月23日18:13 | #3

    @roger. 必须改动JAVA code强制android chromium运行在单进程模式。我的微薄@Game_Player_

  4. alex
    2012年12月23日23:20 | #4

    zs :
    楼主,您好,我刚接触android chromium, 请问编译chromium for android前,必须先 install API keys 吗?

    不用,按照文档上做就可以了。

评论分页
  1. 2012年10月25日09:27 | #1
    (betway官网首页) betway官网首页 » 关于chromium的android移植