CrossWalk WebView添加支持WebRTC及H264编解码

本文介绍了在混合APP开发中,针对WebRTC功能的实现,选择了CrossWalk作为WebView解决方案。CrossWalk基于Chromium,可避免Android原生WebView的碎片化问题。文章详细阐述了如何编译CrossWalk,包括设置编译环境、获取代码和编译过程,特别强调了添加H264编解码支持的方法。最后,提供了使用CrossWalk API的示例和相关资源链接。
摘要由CSDN通过智能技术生成

前言

1.WebView简介

WebView是Android平台上的一个非常重要的系统组件,用于将一个显示浏览器页面的窗口嵌入到应用程序,并提供一组接口让开发者定制一些页面加载及JavaScript对话框等.
早期的WebView(Android4.4以前)基于WebKit实现,可以简单理解为直接在WebKit代码库中增加一个分支,解决Android平台特定的页面渲染方式以及通过JNI接口将WebKit的功能桥接为Java层的API接口。在图形方面,WebView和Android平台一样,采用的是Skia图形库,但没有启用硬件加速,渲染性能非常不好,这也是许多使用者经常抱怨的诟病之一.
随着Android 4.4平台的发布,基于Chromium开源项目的WebView成为平台的一大亮点,新版WebView采用了与Chrome浏览器相同的Blink渲染引擎,v8 JavaScript引擎,网络库以及内存分配器,在HTML5特性支持方面不仅与Chrome保持了更高的一致性,而且还弥补了旧版WebView在渲染性能方面的不足.

2.背景

最近在使用混合APP(Hybird APP)的开发模式,进行WebRTC相关功能开发的可行性研究,采用混合模式开发的好处就是不用频繁升级手机端APP,只需服务器前端调整即可实现H5相关部分的更新,而且可以在Android或iOS的上同时运行,让用户的体验更好又可以节省开发的资源.有人对APP开发的各种模式进行了详细对比,可参考Native/Hybrid/React/Web App方案的分析比较
典型应用如网易云音乐,京东,淘宝等应用,但是开发时,根据业务内容的不同,对于H5支持的WebView,也面临一些选择,各有优缺点,如下:

  • Android原生的WebView
    碎片化太严重,各个手机厂家支持情况不一样,如果使用Android WebView的方式开发实现WebRTC,势必会被适配手机型号问题搞崩溃;
  • 重新编译Chromium的Android WebView
    但是需要替换手机的webview.apk,即需要root手机;
  • CrossWalk
    CrossWalk官方目前已停更,是基于Chromium WebView实现,编译出来集成到APP上体积至少增加20+ M,好处是不依赖平台,GitHub上能找到一些基于CrossWalk后续的更新,目前有找到更新到Chromium 64版本的,如wesley-crosswalktenta-browserks32等。
  • 腾讯X5内核SDK
    X5也是基于Chromium内核的,相比原生的 WebView 而言,优化了用户的浏览体验,SDK 是通过共享使用用户手机上微信、手机QQ、QQ空间等软件已经下载好的X5内核,生成的APK体积小,但前提是手机上已经有QQ或者WeChat应用,如果没有,X5会回退调用原生Android WebView;

经过分析比较,觉得还是使用CrossWalk自己编译内核比较靠谱,不怕坑,有源码就有办法解决问题及填坑.

编译CrossWalk

1.编译环境

与编译WebRTC一样,首先安装depot_tools工具,

$git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
$export PATH="$PATH:/path/to/depot_tools"

谷歌推荐Chromium的编译平台需求为:

  • A 64-bit Intel machine running Linux with at least 8GB of RAM. More than 16GB is highly recommended.
  • At least 100GB of free disk space.
  • You must have Git and Python installed already.

官方推荐使用Ubuntu,使用build/install-build-deps.sh脚本安装依赖库发现支持为Ubuntu 12.04 (precise), 14.04 (trusty),14.10 (utopic), 15.04 (vivid), 15.10 (wily) and 16.04 (xenial) ,注意这里只是此脚本支持的平台,方便安装依赖而已,如果是其他Linux发行版的话,自己手动安装也是可以(就不必手动执行这个

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 16
    评论
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值