【基础】嵌入式浏览器移植基本要素
前言:本文以chrome为例介绍了浏览器移植的基本步骤和要素。
1 浏览器的内核是什么
我们知道chrome的浏览器内核是webkit,那么要做浏览器移植第一步就是要研究webkit的基本构架。
2 浏览器的编译
2.1 硬件支持的 浏览器的编译工具链
2.2 浏览器需要的开源库有哪些
浏览器相关的开源库有libdierectfb,libpango,libcairo,libfontconfig,libfreetype,libskia等,大多数都是和浏览器的渲览,graphic引擎,font字库和管理等等。
这些开源库有些是有license的要求的,根据浏览器的应用场景去选择你需要的开源库。
3 了解浏览器运行的基本环境配置
4 了解浏览器自带的测试案例
make tg=base_unittests
可以生成一个基础测试文件,运行后,回生成对应的测试报告,然后,按照测试报告逐个去解决:
Value of: from_native.value()Actual: "\xEF\xBC\xA1\xEF\xBC\xA2\xEF\xBC\xA3.txt"
Expected: from_utf8.value()
Which is: ""
[ FAILED ] FilePathTest.FromUTF8Unsafe_And_AsUTF8Unsafe (3 ms)
[----------] 1 test from FilePathTest (3 ms total)[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (5 ms total)
[ PASSED ] 0 tests.
[ FAILED ] 1 test, listed below:
[ FAILED ] FilePathTest.FromUTF8Unsafe_And_AsUTF8Unsafe
谷歌浏览器自带测试程序运行举例如下,
[1622/1622] FilePathTest.FromUTF8Unsafe_And_AsUTF8Unsafe (3 ms)
37 tests failed:FilePathTest.FromUTF8Unsafe_And_AsUTF8UnsafeFileProxyTest.SetTimesFileUtilProxyTest.TouchFileUtilTest.ChangeDirectoryPermissionsAndEnumerateFileUtilTest.ChangeFilePermissionsAndReadFileUtilTest.ChangeFilePermissionsAndWriteFileUtilTest.GetShmemTempDirTestJSONFileValueSerializerTest.NoWhitespaceJSONFileValueSerializerTest.RoundtripJSONFileValueSerializerTest.RoundtripNestedJSONReaderTest.ReadFromFileJsonPrefStoreTest.AlternateFileJsonPrefStoreTest.AlternateFileDNEJsonPrefStoreTest.AlternateFileIgnoredWhenMainFileExistsJsonPrefStoreTest.AsyncNonExistingFileJsonPrefStoreTest.BasicJsonPrefStoreTest.BasicAsyncJsonPrefStoreTest.BasicAsyncWithAlternateFileJsonPrefStoreTest.InvalidFileJsonPrefStoreTest.NonExistentFileJsonPrefStoreTest.NonExistentFileAndAlternateFileJsonPrefStoreTest.PreserveEmptyValuesJsonPrefStoreTest.ReadAsyncWithInterceptorJsonPrefStoreTest.ReadWithInterceptorJsonPrefStoreTest.RemoveClearsEmptyParentOutOfMemoryDeathTest.ViaSharedLibrariesPathServiceTest.GetProcessUtilTest.LaunchProcessRTLTest.WrapPathWithLTRFormattingReadOnlyFileUtilTest.ContentsEqualReadOnlyFileUtilTest.TextContentsEqualSharedMemoryProcessTest.TasksSharedMemoryTest.AnonymousExecutableSysStrings.SysNativeMBAndWideSysStrings.SysNativeMBToWideSysStrings.SysWideToNativeMBSystemMetrics2Test.GetSystemMemoryInfo
5 尝试运行浏览器
【基础】嵌入式浏览器移植基本要素相关推荐
- 基于Linux的嵌入式浏览器的实现
随着信息技术与网络技术的快速发展,以及人们日常生活对网络信息的需求的不断增加.掌上电脑.上网本.手机.导航仪器.智能电视.智能家电等对嵌入式系统提出了更多更高的要求.在嵌入式系统中利用嵌入式浏览器获取 ...
- 嵌入式系统移植三部曲 李炎朔
嵌入式系统移植三部曲 李炎朔 09 机应一班 学号 0906041053 三部曲< bootloader 的移植>< linu ...
- 零基础嵌入式Linux开发工程师培训
零基础嵌入式Linux开发工程师高端培训(ARM实战.系统移植.驱动开发.网络电子书开发) 适合人群:初级 课时数量:336课时 用到技术:ARM实战.系统移植.驱动开发 涉及项目:网络电子书开发.案 ...
- 基于ARM的嵌入式Linux移植真实体验(1)――基本概念
基于 ARM 的嵌入式 Linux 移植真实体验( 1 ) ――基本概念 宋宝华 [email]21cnbao@21cn.com[/email] 出处:dev.yesky.com 1. 引言 AR ...
- 【Unity3D插件】Embedded Browser嵌入式浏览器插件使用教程
推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦. 一.前言 ...
- 基于linux嵌入式浏览,基于Linux的嵌入式浏览器的实现
摘要: 在嵌入式产品中利用嵌入式浏览器获得网络信息是必不可少的,所以嵌入式浏览器技术成为技术热点之一,发展是必然趋势.嵌入式浏览器具有速度快,实时性强,可移植性高,体积小和资源消耗低等特点,更有利于人 ...
- 《全面掌握Linux C语言嵌入式系统移植教程》学习笔记(Liunx速查简明)
全面掌握Linux C语言嵌入式系统移植教程学习笔记(Liunx速查简明) 笔记前言: P3: shell命令简明 P4: vi /vim编辑器入门 P5:vi /vim编辑器扩展 P8: gcc编译 ...
- 嵌入式linux系统移植的四大步骤_嵌入式系统移植步骤
在嵌入式系统移植中重要的一部分是操作系统的移植,与其它操作系统相比,Linux大的特点:它是一款遵循GPL的操作系统,我们可以自由地使用.修改.和扩展它.正是由于这一特色,嵌入式系统移植过程中Linu ...
- 计算机 运行新ie 命令,(新)计算机应用基础IE浏览器设置学习笔记——精品.doc
计算机应用基础IE浏览器设置学习笔记 一.IE浏览器设置简介 Internet Explorer浏览器(简称IE浏览器)是能够接收用户的请求信息,并到相应网站获取网页内容的专用软件.IE浏览器的使用和 ...
最新文章
- openldap 2.3 安装配置详解
- Func与Action
- Virtual ListView效率对比
- SAP HR模块用的表
- [蓝桥杯]PREV-19.历届试题_九宫重排
- 系统分析与设计结对项目———Wordcount
- 黑色幽默:“新知青”电影《走着瞧》首映
- 简单介绍Java中Comparable和Comparator
- 【转】The password supplied with the username Domain\UserName was not correct. AD密码定期更换
- 【笔记】通过 js——实现 各种跨域
- 小程序·云服务的系统架构和运维实现
- 2022-03-29 软件外包流程
- JAVA8内存最多设置多少,堆内存居高不下,JDK8自适应作怪
- MyBatis(八)------MyBatis动态SQL
- 优秀产品经理都是这样写周报的(顺便分享个周报模板)
- 板绘新手入门sai绘画软件有哪些技巧?
- 谷歌学术高级搜索技巧
- 五光十色变色龙的制作
- JAVA-受保护的访问修饰符-protected(在同一包和不同包中的使用)
- Scan Context回环检测解读和使用