libhybris主要作用是为了解决libc库的兼容问题,目的是为了在基于GNU C library的系统运行那些用bionic编译的库(主要是Android下的闭源HAL库)。它在Ubuntu touch, WebOS, Jolla Sailfish OS等系统中都有使用。因为这些系统都是基于glibc生态的,然而现有的硬件厂商提供的driver多是为Android而写的,自然也是用bionic编译的。那么问题来了,说服厂商再写一套驱动不是那么容易的,就算写出来也需要经过一段时间才能变得成熟。那如何让基于glibc的系统能够重用现有Android的driver呢?这就需要像libhybris这样的兼容层。
1、库的编译
首先你需要准备一套跑linux系统的arm架构机器,最好装最新的debian或ubuntu系统。这样编译是不会出一些奇怪的错误
下载libhybris源码
git://github.com/libhybris/libhybris.git
./autogen.sh
如果出现checking for android-headers...no。停止,并没有生成Makefile文件。下面给你解决,如果是其他错误请自行百度(一般都是环境没好)
这个android-headers是什么东西呢,我也搞了好久,不过在源码的utils/extract-headers.sh中发现有android-headers字样
A