自实现的 android.hardware.xxxx@1.0-service 没有开机自启动

问题描述

push android.hardware.xxxx@1.0-service/vednor/bin/hw;
push ‘android.hardware.xxxx@1.0-service.rc’ 到 /vendor/etc/init/;
reboot 设备后,xxx 服务没有自动启动。
经检查 rc 文件与同类 service 无差异。

问题分析

直接运行 xxx 服务正常。同时经检查 rc 文件与同类 service 无差异。
怀疑是权限问题。
使用 ls -al -Z 查看,rc 文件权限相同,但 xxxx 文件 SELinux 权限不同:

-rwxr-xr-x 1 root   shell  u:object_r:hal_mcucomm_default_exec:s0                   11648 2009-01-01 08:00 android.hardware.mcucomm@1.0-service
-rwxr-xr-x 1 root   shell  u:object_r:vendor_file:s0                                  82856 2024-08-02 16:25 android.hardware.xxxx@1.0-service
-rwxr-xr-x 1 root   shell  u:object_r:hal_settings_default_exec:s0                  29904 2009-01-01 08:00 android.hardware.settings@1.0-service

所以问题应该是 SELinux 权限不同导致。

问题解决

使用命令修改 xxxx 文件 SELinux 权限与同类一致即可。

chcon u:object_r:hal_mcucomm_default_exec:s0 android.hardware.xxxx@1.0-service
`android.hardware.wifi@1.0-service` 和 `android.hardware.wifi-service-lazy` 都与 Android 系统中的 Wi-Fi 服务相关。`android.hardware.wifi@1.0-service` 是 Android 系统中遵循 `HIDL(HAL Interface Definition Language)` 规范的 Wi-Fi 服务实现,它提供了 Wi-Fi 相关的硬件抽象层接口,允许上层应用和系统组件通过这些接口与 Wi-Fi 硬件进行交互,确保 Wi-Fi 功能的正常运行,例如连接到 Wi-Fi 网络、扫描可用网络等操作[^1]。 而 `android.hardware.wifi-service-lazy` 中的 “lazy” 通常表示该服务采用了懒加载机制。懒加载是一种优化策略,意味着该 Wi-Fi 服务不会在系统启动时立即启动,而是在真正需要使用 Wi-Fi 功能时才会被激活。这种机制有助于减少系统资源的占用,提高系统的启动速度和运行效率,特别是在设备启动阶段,避免不必要的服务启动消耗过多的内存和 CPU 资源。 二者的关系可以总结为,它们都是为了实现 Android 系统的 Wi-Fi 功能,但 `android.hardware.wifi@1.0-service` 侧重于提供标准的 Wi-Fi 硬件抽象层服务接口,而 `android.hardware.wifi-service-lazy` 则更注重资源优化,通过懒加载的方式来管理 Wi-Fi 服务的启动时机,二者相辅相成,共同保障 Android 系统中 Wi-Fi 功能的高效、稳定运行。 ```java // 以下是一个简单示例,展示懒加载服务的概念 class LazyWifiService { private boolean isServiceStarted = false; public void startServiceIfNeeded() { if (!isServiceStarted) { // 启动 Wi-Fi 服务的逻辑 System.out.println("Wi-Fi 服务已启动"); isServiceStarted = true; } } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值