2.3. 本地库

优质
小牛编辑
133浏览
2023-12-01

2.3.本地库

来自开源社区的 C/C++ 本地库为 Android 应用层提供了很多必需的服务。它们包括:

  • WebKit: 一个高速的Web渲染引擎,这个引擎已经被 Safari , Chrome 和很多其他的浏览器所使用。
  • SQLite: 一个全功能的 SQL 数据库
  • Apache Harmony: 开源的 Java 实现
  • OpenGL: 3D 图像渲染库
  • OpenSSL: 安全套接字层
  • 等等

这些库中的大部分都是被原封不动地拿过来的,但是 Bionic 是一个例外。 Bionic 基本上是 C 标准库的重写版。 使用 Bionic 的原因有如下两条:

  • 技术方面: 专为电量有限的设备进行优化。
  • 许可证方面: 对他人的使用和修改是许可证友好的。

Tip: GNU libc 是 Linux 默认使用的C标准库,它使用的 GPL 协议要求修改者在发布产品时都必须开放源代码,并反馈给开源社区。 这样的许可证对于多数商业公司来说都是不友好的,因为他们通常需要保护自己的私有代码。Bionic 使用的 Apache/MIT 许可证对于这点就要宽松一些,并不强制修改者开放源码。