Chromium for Android第一手尝鲜
转载时请注明出处和作者联系方式: 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的移植代码:
- 与Android framework相关的移植代码使用java编写,chromium项目甚至写了一个程序来自动生成JNI接口。
- Java部分的代码是使用ant编译和打包的。
- src/build/android/gdb_content_shell脚本用于调试native代码。
- 运行build/install-build-deps-android-sdk.sh脚本,将ndk原始的arm-linux-androideabi-ld替换成gold版本,这可以极大的提升链接速度(i7 2630QM, 4G RAM,link一次20~30分钟)。在没有替换之前,link一次需要花上2、3个小时。
- 只支持android 4.0以上版本。
Chromium for Android虽然不完善,但是大部分移植工作都已经完成,剩下的只需要提供UI即可,这可是国内厂商擅长的事情。还犹豫什么,赶快投入到chromium for android上面来吧。
2012-08-02补充:
解决了网页显示问题,虽然还存在bug,不过网页加载流程及渲染的流程已经打通了。下面是截图:
查看进程信息:
转载时请注明出处和作者联系方式: Chromium for Android第一手尝鲜(betway官网首页) betway官网首页@gmail.com
楼主,您好,我刚接触android chromium, 请问编译chromium for android前,必须先 install API keys 吗?
@gameplayer
如何让Chrome for Android运行在单进程模式?
@roger. 必须改动JAVA code强制android chromium运行在单进程模式。我的微薄@Game_Player_
不用,按照文档上做就可以了。