如何在Init里添加一个自启动程序,Server

2023-05-16

一. 添加一个系统服务的权限声明

情景:定义一个init启动的service,demo_service,对应的执行文件是/system/bin/demo.

(1) 创建一个demo.te在/device/mediatke/common/sepolicy 目录下
      如果是Android4.4的源码,在/device/mediatke/common/BoardConfig.mk 的BOARD_SEPOLICY_UNION

      宏中新增demo.te
      如果是Android5.0以上的编译会自动包含了整个文件夹里的文件,则不用在BoardConfig.mk中添加文件声明
(2) 在demo.te中添加:demo的域(domain)类型定义
       type demo, domain;
(3) 在demo.te中添加:demo的可执行文件(客体)的类型定义
        type demo_exec, exec_type
(4) 在demo.te中添加:init启动service时类型转换声明,直接用一个宏,主要是用于把demo_exec(客体)

       转换成demo(进程域)
       init_daemon_domain(demo)
(5) 绑定执行档 file_contexts 类型(安全上下文),由这个可执行文件启动起来的进程都是demo域里的
       /system/bin/demo u:object_r:demo_exec:s0
(6) 根据demo需要访问的文件以及设备,定义其它的权限在demo.te中.
       上面的例子最大的疑点就是init_daemon_domain这个宏,我们来看看
       下面所有的宏都在/external/sepolicy/te_macros文件里定义,具体的定义,请自行查看

 

 

原文:https://blog.csdn.net/shell812/article/details/58596377 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Init里添加一个自启动程序,Server 的相关文章

  • Git Commit Message 规范实践

    文章目录 背景示例FeatureBugRefactorDocsTestStyleChore 每个Merge Request只有一个Commit小结附录 背景 本文总结了项目实践中的 Commit Message 规范 任何一笔提交都是有原因
  • github push 报错的问题记录

    文章目录 背景解决办法示例 背景 当 git 执行 git push xff08 origin origin master xff09 后出现错误提示 xff1a git push origin origin master Password
  • Mac 平台 Android FFmpeg 编译与集成实践

    文章目录 FFmpeg 是什么为什么要学 FFmpeg 开发FFmpeg 编译1 编译环境准备2 FFmpeg 环境配置3 完整的脚本4 FQA 编译小结在Android Studio 中的集成集成问题记录写在最后 FFmpeg 是什么 F
  • 音频中文件大小计算公式(转)

    声卡对声音的处理质量可以用三个基本参数来衡量 xff0c 即采样频率 采样位数和声道数 采样频率是指单位时间内的采样次数 采样频率越大 xff0c 采样点之间的间隔就越小 xff0c 数字化后得到的声音就越逼真 xff0c 但相应的数据量就
  • 「设计模式」六大原则之一:单一职责小结

    文章目录 1 单一职责原则定义2 如何理解单一职责原则 xff08 SRP xff09 xff1f 3 如何判断类的职责是否足够单一 xff1f 4 类的职责是否设计得越单一越好 xff1f 5 应用体现6 应用示例18 应用示例2 xff
  • 「设计模式」六大原则之二:开闭职责小结

    文章目录 1 开闭原则定义2 如何理解 对扩展开放 对修改关闭 xff1f 3 如何做到 对扩展开放 修改关闭 xff1f 4 如何在项目中灵活应用开闭原则 xff1f 5 示例 xff1a 6 小结 xff1a 设计模式 六大原则系列链接
  • 「设计模式」六大原则之三:里氏替换原则小结

    文章目录 1 里式替换原则定义2 举例说明示例1 xff1a 示例2 xff1a 3 哪些代码明显违背了 LSP xff1f 子类违背父类声明要实现的功能子类违背父类对输入 输出 异常的约定子类违背父类注释中所罗列的任何特殊说明开发 Tip
  • 「设计模式」六大原则之四:接口隔离原则小结

    文章目录 1 接口隔离原则定义2 如何理解3 接口隔离原则与单一职责原则的区别2 举例说明4 小结 设计模式 六大原则系列链接 设计模式 六大原则之一 xff1a 单一职责小结 设计模式 六大原则之二 xff1a 开闭职责小结 设计模式 六
  • 「设计模式」六大原则之五:依赖倒置原则小结

    文章目录 1 依赖倒置原则 xff08 DIP xff09 定义4 DIP举例说明2 如何理解控制反转 xff08 IOC xff09 3 如何理解依赖注入 xff08 DI xff09 4 小结 设计模式 六大原则系列链接 设计模式 六大
  • 「设计模式」六大原则之六:最小知识原则小结

    文章目录 1 最小知识原则 xff08 LOD xff09 定义2 什么是 高内聚 呢3 什么是 松耦合 xff1f 4 应用举例 设计模式 六大原则系列链接 设计模式 六大原则之一 xff1a 单一职责小结 设计模式 六大原则之二 xff
  • Android NDK 中堆栈日志 add2line 的分析实践

    文章目录 目的常用的辅助工具分析步骤参考 目的 Android NDK 中出现的 crash 日志分析定位 xff0c 使用 addr2line 对库中定位so 动态库崩溃位置 xff0c 定位到某个函数的具体的代码行 常用的辅助工具 ad
  • Android 中关于 FileObserver类监听文件状态的实践

    文章目录 需求背景走进源码实现示例参考 需求背景 当某一个目录的文件发生变化 xff08 创建 修改 删除 移动 xff09 时 xff0c 需要给一个回调事件给其他端调用 其他场景 xff1a 阅后即焚等等 比如在 Android 的 V
  • Android10 系统 Framework 中定制实现开关机动画实践

    文章目录 写在前面 需求背景 主要问题 接口测试 权限问题对比测试 最后实现方案 其他问题 总结 写在前面 本文主要记录了在Android 10 系统 定制开关机动画时遇到的权限 读写 问题以用开关机动画资源的流程 文件要求等问题 涉及知识
  • VirtualBox 报错Interface ('VirtualBox Host-Only Ethernet Adapter') is not a Host-Only Adapt

    前几天用VBox虚拟机的时候 xff0c 忽然打不开了 xff0c 提示 无法为虚拟机打开一个新任务 xff0c 详细错误信息 Interface VirtualBox Host Only Ethernet Adapter is not a
  • BT中的磁力链接(转)

    注意 xff1a 磁力链接不是迅雷的 xff0c 而是BT网络中的一种协议 磁力链接与种子文件 磁力链接并不是一个新概念 xff0c 早在2002年 xff0c 相关的标准草稿就已经制定了 但直到2012年海盗湾为规避版权问题删除了站点上的
  • 如何利用GitHub Pages免费搭建个人网站以及绑定自己的域名

    拥有自己的个人网站 xff0c 无可否认是能增加学习Web开发的动力的 本笔记记录使用GitHub Page xff0c 免费搭建个人网站 xff0c 以及如何链接自己的域名 写在前面 xff1a 什么是GitHub Pages 根据官网的
  • 关于系统托盘图标(systemtray)无法显示问题的解决

    http blog csdn net robin7513 archive 2010 03 22 5403991 aspx 最近在一个程序中使用了系统托盘图标 xff08 systemtray xff09 xff0c 用于提示信息和快捷操作
  • Android Studio删除安装插件

    win 系统 进入 C Users Administrator AppData Roaming Google AndroidStudio4 1 Administrator为当前计算机用户 找到plugins文件夹 进入文件夹删除安装的插件即
  • windows cmd命令窗口报错 curl: (1) Protocol “‘http“ not supported or disabled in libcurl

    问题 在windows cmd命令窗口中执行curl命令 如下 报错 curl 1 Protocol 34 39 http 34 not supported or disabled in libcurl 解决方法 把curl命令中的单引号改
  • 关于Python Numpy array 的axis 的用法的总结

    我自己学习numpy已经很长时间了 xff0c 但一直搞不懂它array里面axis的用法 经常就是自己试一下看看axis 61 0 或者 axis 61 1 的时候会怎么样 然后再用到代码里面 xff0c 比如 xff1a 首先导入num

随机推荐