解析 Android 5.1 Sensor HAL

预热

前几天研究了 Android 5.1 相对于 Android 4.4,Sensor HAL 做了什么改动。然后就有了这篇文章。

首先,怎么知道 Android 5.1 对 Sensor HAL 改了什么东西呢?其实只要运行了一下如下命令:

1
2
diff -u /path/to/android_5.1/hardware/libhardware/include/hardware/sensors.h \
/path/to/android_4.4/hardware/libhardware/include/hardware/sensors.h

估计都懂了。

阅读全文

ADB 常见错误分析

ADB

ADB(Android Debug Bridge) 是 Google 为了调试 Android 设备和 Android 模拟器实例而写的调试工具。整个 ADB 分为 3 个部分,ADB Server,ADB Client 和 ADB Daemon(adbd)。ADB Server 是在主机上运行的一个进程,用来处理 ADB Client 和 ADB Daemon 之间的通信。平常所用的 adb kill-server 就是kill这个进程。ADB Client 就是我们在终端里运行的程序,用于处理用户输入,并和 ADB Server 通信。通常 ADB Client 和 ADB Server 会编译到同一个可执行文件 adb,所以在运行 adb 命令时,会主动检测是否有 ADB Server 这个进程,如果没有,就会默认后台运行 ADB Server。ADB Daemon 是一个运行在 Android 客户端的守护进程,用于和 ADB Server 进行通信,并给主机提供一系列的服务。

在我们平常的开发中,可能会碰到一些 Android 设备无法通过 adb 去连接。这里分析两种常见的连接错误。

阅读全文