android ndk编译自己的webkit

来源:互联网 发布:唱吧后期制作软件 编辑:程序博客网 时间:2024/05/16 19:55

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,因此在需求不是整个浏览器,而只是正常地显示网页时,
还是可以写的比较简单的。
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 高效能人士的七个习惯 高效能人士七个习惯 如何养成良好学习习惯 21天养成一个好习惯 培养孩子的良好习惯 怎样培养孩子的阅读习惯 怎样养成良好的学习习惯 培养孩子的阅读习惯 如何培养学生的良好习惯 如何培养孩子阅读习惯 怎样养成好的学习习惯 怎样培养孩子的学习习惯 培养幼儿的良好习惯 养成良好的阅读习惯 如何培养孩子的习惯 养成良好的学习习惯 如何养成好的学习习惯 怎样养成良好的习惯 怎么养成好的学习习惯 如何养成良好的习惯 养成良好的卫生习惯 怎么培养孩子的习惯 培养孩子好的学习习惯 如何培养幼儿良好的习惯 如何培养好的学习习惯 如何培养学生的学习习惯 如何培养幼儿的学习习惯 让优秀成为一种习惯 小学生数学学习习惯的培养 如何培养孩子的行为习惯 中学生不良学习习惯 优秀孩子的16个习惯 怎样培养学生的学习习惯 高效率人士的七个习惯 怎么培养孩子的学习习惯 如何培养学生学习习惯 如何培养孩子的良好学习习惯 怎样培养孩子好的学习习惯 如何培养学生良好的阅读习惯 如何培养小学生的学习习惯 怎样培养孩子良好的学习习惯