/ # lshal --help
lshal:列出并调试 HIDL HAL。(对于 AIDL HAL,请参阅“dumpsys”)
commands:
list 列出 HIDL HAL。
debug 调试指定的 HIDL HAL。
help 打印帮助消息。
wait 如果 HIDL HAL 尚未启动,请等待其启动。
如果未指定命令,则默认为“list”。
list:
lshal
lshal list
以默认顺序列出所有的 hals (`lshal list -Vliepc`)
lshal list [-h|--help]
-h, --help: 打印列表的帮助信息 (`lshal help list`)
lshal [list] [OPTIONS...]
-i, --interface: 只打印实例名称列
-l, --released: 打印“已发布?” 列(Y=已发布,N=未发布,?=未知)########
-t, --transport: 打印传输模式列
-r, --arch: 打印位数列 //有32和64 ############
-s, --hash: 打印接口的哈希值
-p, --pid: 打印服务器 PID,如果设置了 -m 则打印服务器命令行 //这里还有一个-m选项
-a, --address: 打印服务器对象地址列
-c, --clients: 打印客户端 PID,如果设置了 -m 则打印客户端命令行 ###########
-e, --threads: 打印当前使用/可用的线程(注意,可用线程是延迟创建的)
-m, --cmdline: 打印 cmdline 而不是 PID
-d[=<arg>], --debug[=<arg>]:使用空选项从 IBase::debug 发出调试信息。 不能与 --neat 一起使用。 如果提供了“arg”,则写入指定文件,否则写入标准输出。
-V, --vintf: 打印 VINTF 信息。 此列包含以逗号分隔的列表:
- DM:如果 HIDL HAL 位于设备清单中
- DC:如果 HIDL HAL 位于设备兼容性矩阵中
- FM:如果 HIDL HAL 位于框架清单中
- FC:如果 HIDL HAL 位于框架兼容性矩阵中
- X: 如果 HIDL HAL 不在上述列表中
-S, --service-status: 打印服务状态列。 可能的值为:
- alive: 活跃并正在运行 hwbinder 服务;
- registered;dead: 已注册到 hwservicemanager 但没有响应;
- declared: 仅在 VINTF 清单中声明,但未注册到 hwservicemanager;
- N/A: 对于直通 HAL 没有信息。
-A, --all: 打印所有列 ########
--init-vintf:形成一个框架 HAL 清单到指定文件,如果没有指定文件,则形成到标准输出。//生成一个manifest文件
--init-vintf-partition=<arg>:指定 --init-vintf 生成的HAL清单的分区。 有效值为“system”、“vendor”和“odm”。 默认为“vendor”。
--sort=<arg>:按列排序。 “arg”可以是 (i|interface) 或 (p|pid)。
--neat:输出是机器可解析的(无解释文本)。 不能与 --debug 一起使用。
--types=<arg>:以逗号分隔的一个或多个部分的列表。 输出仅限于选定的部分。 有效选项有:(b|binderized)、(c|passthrough_clients)、(l|passthrough_libs)、(v|vintf)、(z|lazy) 和 (a|all)。 默认为“b,c,l”。
debug:
lshal debug [-E] <interface> [options [options [...]]]
打印指定接口的调试信息。
-E:如果 HIDL HAL 实际上是子类,则排除调试输出。
<interface>:格式为“android.hardware.foo@1.0::IFoo/default”。如果实例名称缺失,则使用“default”。
options:IBase::debug 的空格分隔选项。
help:
lshal -h
lshal --help
lshal help
打印此帮助消息
lshal help list
打印列表的帮助消息
lshal help debug
打印调试帮助信息
lshal help help
打印帮助消息寻求帮助
lshal help wait
打印等待的帮助消息
wait:
lshal wait <interface/instance>
对于设备上的 HAL,请等待 HAL 启动。 这不会启动 HAL,除非将其配置为惰性 HAL。
<interface>:格式为“android.hardware.foo@1.0::IFoo/default”。 如果实例名称缺失,则使用“default”。