代码与编译集成
开发 C / C++ Native Daemon,配置 Android.bp 和 Vendor 依赖。
- /vendor/bin
- /vendor/lib64
- Soong / cc_binary
Android System Integration
当前重点支持 Android 11、Android 16 与 MediaTek MTK 68 系列平台,在 Vendor 分区开发 Native Daemon,并完成开机自启动、IPC 和权限配置。
Engineering Flow
开发 C / C++ Native Daemon,配置 Android.bp 和 Vendor 依赖。
声明 service、class、user、group、socket、seclabel 和触发条件。
系统解析 rc,启动 Daemon,并由 init 创建 Unix Domain Socket。
App / JNI / System App 连接 /dev/socket,Daemon 接收并处理请求。
配置 Daemon Domain、Socket Type、App 映射与最小权限。
输出日志、上报属性、监控进程并支持 OTA 与长期运行。
Architecture
Troubleshooting
服务启动后立即退出或因依赖、权限、参数和资源问题循环重启。
文件权限并不等于 SELinux connectto 权限,需要同时检查 Domain 与 Type。
按 source domain、target type、class、permission 四元组分析。
FAQ
围绕项目范围、技术边界、实施条件和交付内容进行说明。
可以通过 Vendor init.rc 集成到 Android 启动流程,按 class 或 property 条件启动,并配置异常重启策略。
由 init.rc 创建 Socket 并设置 Owner、Group 和 Mode,同时通过 SELinux 规则允许指定客户端 Domain connectto。
不会以关闭 SELinux 作为量产方案。目标是分析 AVC 并收敛为满足业务所需的最小权限策略。