chromium-net 移动端网络库开源项目

我要开发同款
匿名用户2017年05月25日
47阅读
开发技术C/C++
所属分类手机/移动开发
授权协议GPL

作品详情

Chromium移动端网络库,当前移动端QUIC支持的良好选择。

chromium-net-independent是一个独立的网络库,它包含了Chromium中网络相关的代码,包括net库,url库,SSL库,以及Android平台的Java封装等等。同时它还是一个跨平台库,可以应用于Android等移动平台上。

chromium-net-independent库的优势:

全平台支持最新版TLS。不像OkHttp这样依赖系统提供SSL/TLS加解密功能的网络库,chromium-net-independent自身包含SSL库,因而可以全平台支持安全性更高的最新版TLS。

全平台支持HTTP/2及QUIC等最新的网络协议。HTTP/2本身对TLS的版本有要求,同样由于内含SSL库,而可以全平台支持HTTP/2。

在Linux平台上构建

克隆本仓库

$ git clone https://github.com/hanpfei/chromium-net-independent.git$ cd chromium-net-independent

如果你是第一次构建,则安装依赖:

$ ./build/install-build-deps.sh

配置编译环境

本repo包含两个branch,分别为master和cronet。masterbranch的代码可以分别编译出net等独立的共享库。cornetbranch的代码则可以用于编译chromiumnetandroid平台的封装cronet。要想编译cronet,则首先切换至cronetbranch。然后编辑out/Default/args.gn文件,依据自己本地的环境,修改android_sdk_root指向自己本地AndroidSDK的安装目录;修改android_ndk_root指向自己本地的NDK目录(要求NDK版本为R10);可以根据需要配置target_cpu。

构建Cronet

$ gn gen out/Default/$ ninja -C out/Default/ cronet$ ninja -C out/Default/ cronet_java

导入二进制文件

像通常使用第三方Java库那样,将如下的jar文件导入Android工程:

out/Default/lib.java/base/base_java.jarout/Default/lib.java/components/cronet/android/cronet_api.jarout/Default/lib.java/components/cronet/android/cronet_java.jarout/Default/lib.java/net/android/net_java.jarout/Default/lib.java/url/url_java.jar

像通常使用第三方共享库文件那样,导入如下共享库文件:

out/Default/libcronet.so

在Android工程的Java代码中使用Chromiumnet库。

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论