热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

androidndk编译自己的webkit

转自:http:blog.csdn.netwzm012articledetails7073613android本来自带了webkit浏览器,但是要对其进行custom就需要android源

转自:http://blog.csdn.net/wzm012/article/details/7073613


android本来自带了webkit浏览器,但是要对其进行custom就需要android源代码才行,

但是在没有源码的情况下,那么就需要用到ndk了,比如,我是在xoom上做custom webkit的。虽然ndk提供的库很少,而且没有skia,但是好在有bitmap,这样显示慢了点,没有硬加速,但不是不可能。webkit需要的第三方库,freetype,png,jpeg,sqlite3等虽然android源码中有,但是ndk没有开放,因此所有的第三方库,freetype,png,jpeg,sqlite3,cairo,curl,fontconfig,pixman,iconv等都需要用ndk cross-compile成静态库,然后链接到最终的动态库中。选择iconv是icu太大,而且没有多语言的需求,选择cairo+pixman是skia的移植性不好,而且cairo支持很多种backend。编译第三方库需要用到autoconfig,ndk中有如何生成交叉编译链的文档,然后在configure时使用这个工具链就可以了,但是android用到的是bionic库,因此会有很少的地方需要修改,有些库也不能生成test程序,但是静态库是没问题的。利用ndk生成的交叉工具链,在加上webkit自带的cmake编译系统,生成webkit的动态库是没有问题的,当然是webkit的内核,而且有些平台相关的部分代码需要修改,但是只要是以linux平台为基础,修改还是很容易的,我移植的webkit是先移植到linux平台上,然后移植到android平台上的,所以修改相对少了很多,但是修改大多都在WebCore/platform下,在选择了的平台相关库后,做相应的配置和修改,其次是在WebKit目录,这个主要是支持和使用WebCore,因此在需求不是整个浏览器,而只是正常地显示网页时,还是可以写的比较简单的。


推荐阅读
author-avatar
知心friend2007
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有