您的位置:首页 > 新闻 > 热点要闻 > 网站推广软件免费_嘉兴网课_如何投放网络广告_seo引擎优化是做什么的

网站推广软件免费_嘉兴网课_如何投放网络广告_seo引擎优化是做什么的

2024/10/16 15:58:34 来源:https://blog.csdn.net/duapple/article/details/142934341  浏览:    关键词:网站推广软件免费_嘉兴网课_如何投放网络广告_seo引擎优化是做什么的
网站推广软件免费_嘉兴网课_如何投放网络广告_seo引擎优化是做什么的

问题描述

android hal层一般是通过service给系统提供服务的。一般需要将service配置为开机启动。调试阶段,我直接将service push到板卡上,进行调试,未出现问题无法开的问题。在最后集成完成后,放到板卡上,出现启动无法打开 /dev/uinput 的问题,报错为:

10-14 08:21:02.550   360   360 E ca_ins_hal: open /dev/uinput failed: Permission denied

提示为权限问题。但是系统并没有报 avc: denied 的问题。avc 相关的已经在集成时,解决了所有的 avc 报错。但是现在无法打开 /dev/uinput

猜测 te 文件添加的权限已经没有问题了。还有与权限相关的就是 rc 文件了。

android.hardware.gnss@2.1-service-ca_ins.rc :

service gnss-hal-service /vendor/bin/hw/android.hardware.gnss@2.1-service-ca_insclass haluser systemgroup system

解决

这里我抄了一个demo的 rc 配置,使用的 class 是 hal,user 和 group 都是system,android 系统中只有root权限和非root权限。因此猜测在这里使用root权限可以解决上述问题。因此在系统里找了一个使用 root 权限的配置copy过来:

service gnss-hal-service /vendor/bin/hw/android.hardware.gnss@2.1-service-ca_insclass mainuser rootgroup root

重新编译集成,再次启动, /dev/uinput 打开正常。接下来报除了一些 uinput 相关的 avc 权限问题,将需要的权限添加到 te 文件中即可,可能需要多次调试添加。

在解决权限问题时,最后会有一条无法解决:

10-14 08:52:08.847   475   475 I gnss@2.1-servic: type=1400 audit(0.0:7): avc: denied { dac_override } for capability=1 scontext=u:r:hal_gnss_ca_ins:s0 tcontext=u:r:hal_gnss_ca_ins:s0 tclass=capability permissive=1

将相应的权限添加到 te 文件会导致编译不通过。自己定义的权限和全局设置的权限要求冲突了。

解决方式参考:https://blog.csdn.net/k663514387/article/details/107983037

需要将进程添加到需要访问的文件所在的文件组:

dev/uinput:

se1000:/ # ls /dev/uinput  -al
crw-rw---- 1 uhid uhid 10, 223 1970-01-01 00:00 /dev/uinput

te 文件:

service gnss-hal-service /vendor/bin/hw/android.hardware.gnss@2.1-service-ca_insclass haluser systemgroup system uhid

重新编译集成,不会在报 dac_override avc 错误。并且, /dev/uinput 也能正常打开。root 权限不可乱用 : (

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com