2024年11月01日 第3讲 cameraserver rc详解 上 极客笔记
本讲是Android Camera Native Framework专题的第3讲,我们介绍cameraserver.rc详解(上),包括如下内容:
更多资源:
资源 | 描述 |
---|---|
在线课程 | 极客笔记在线课程 |
知识星球 | 星球名称:深入浅出Android Camera 星球ID: 17296815 |
极客笔记圈 |
rc文件官方文档
rc文件语法
修改rc文件后要重启系统,因为rc文件的解析是在开机启动时解析的
xxxx:/ # dmesg |grep -i cameraserver
[ 17.427530] init: Parsing file /system/etc/init/cameraserver.rc...
[ 17.434089] init: /system/etc/init/cameraserver.rc: 3: Unable to find UID for 'xxxcameraserverxxx': getpwnam failed: No such file or directory
[ 35.306169] init: starting service 'xxxxcameraserver'...
Service是一种服务,在开机时启动,退出时自动重启(可选)
service [ ]*
service cameraserver /system/bin/cameraserver
class main
user cameraserver
group audio camera input drmrpc
ioprio rt 4
task_profiles CameraServiceCapacity MaxPerformance
rlimit rtprio 10 10
为该服务指定class名字,用于描述在启动的哪个阶段启动该class相关的服务
class <name> [ <name>* ]
init.rc 总体初始化顺序
在执行此服务之前,将用户名更改为‘username’,有了UID后,方便对同一个用户名的进程进行权限控制,比如SELINUX权限设置
user <username>
/*
* This file is consumed by build/tools/fs_config and is used
* for generating various files. Anything #define AID_
* becomes the mapping for getpwnam/getpwuid, etc. The
* field is lowercased.
* For example:
* #define AID_FOO_BAR 6666 becomes a friendly name of "foo_bar"
xxxx:/ # cat /proc/403/status |grep -i uid
Uid: 1047 1047 1047 1047
在执行此服务之前,将用户组更改为‘groupname’,有了GID后,方便对同一个用户名的进程进行权限控制,比如SELINUX权限设置
group <groupname> [ <groupname>* ]
group audio camera input drmrpc
cat /proc/<pid>/status
验证
本文链接:http://so.lmcjl.com/news/16723/