AndroidP 开机自启动程序

1. code

  1. main.c

    #include <stdio.h>int main() {int i = 10;while (i--) printf("test_for_customer, this bin is built for running on boot\n");return 0;
    }
    
  2. rc文件

    service just_test /system/bin/test_for_customerclass coreoneshotconsoledisabled
    on property:sys.boot_completed=1start just_test
    

    上述code比较简单,需要添加一个rc文件编译到/etc/init路径下在开机时使用

2. 编译

  1. Android.bp

    cc_binary {name: "test_for_customer",srcs: ["main.c"],init_rc: ["test_for_customer.rc"],shared_libs: ["libc"],vendor: false
    }
    
  2. device.mk

    PRODUCT_PACKAGES += test_for_customer
    

    添加在结尾部分即可;

3. selinux权限添加

  1. 在device/vendor/project/sepolicy/ 目录下三个路径分别添加$(xxx).te
  2. 在file_contexts中添加对应路径的执行权限

3.1 编译问题

libsepol.report_failure: neverallow on line 1015 of system/sepolicy/public/domain.te(or line 11301 of policy.conf) violated by allow test_for_customer_exec:file{ execute };

上述提示为添加的domain 规则与domain.te中1015行冲突,而对应限制为system无法执行vendor下的可执行程序,所以需要将domain中vendor_file_type去除;

3.2 运行时权限缺少提示

<3>Itype=1400 audit(1608531912.719:50): avc: denied { ioctl } for pid=2582
comm=“test_for_custom” path="/dev/console" dev=“tmpfs” ino=335
ioctlcmd=0x5401 scontext=u:r:test_for_customer:s0
tcontext=u:object_r:console_device:s0 tclass=chr_?le permissive=1

关键信息:

  1. 缺少的权限:denied { ioctl }
  2. 哪个缺少的权限(就是对应的哪个 te 文件):
    scontext=u:r:test_for_customer:s0
  3. 对谁缺少权限(就是对哪个文件/目录等缺少操作的权限):
    tcontext=u:object_r:console_device:s0
  4. 具体类型(文件/目录):tclass=chr_?le
    则需要添加信息为(test_for_customer.te):
    allow test_for_customer console_device:chr_file{read ioctl write getattr};

4. 编译

  1. 单独编译demo程序

    source ./build/envsetup.sh
    lunch
    mmm vendor/autochips/propreietary/tests/test_for_cusotmer
    
  2. 单独编译sepolicy程序

    ./prebuilts/build-tools/linux-x86/bin/ninja -f ./out/combined-full_xxx.ninja sepolicy
    

AndroidP 开机自启动程序相关推荐

  1. Ubuntu管理开机自启动程序

    点击左侧的图标,在搜索栏上输入gnome-session,即可看到 "启动应用程序"的图标, 如下图: 在此管理开机自启动程序

  2. Wince下定制开机自启动程序

    Wince下定制开机自启动程序 上网查了一下,发现相关的贴子还真是不少. 最近因公司的项目需要,我做了个简单的程序则试该功能. 用网上的很多方法发现是行不通的, 估计最初应该是可以用的, 然后大家都是 ...

  3. 如何让电脑开机自启动程序

    如果你是想让电脑开机自启动程序的话你来对了地方 首先同时按下徽标键(一个键四个小方块的那个)+r键 然后输入shell:startup 在打开的文件夹中把你需要启动的程序放进去即可 直接把图标拖进去 ...

  4. jetson nano 相关设置(开机自动登录、取消休眠和屏保、开机自启动程序)

    目录 1. 开机自动登录 2. 取消屏保 2.1. 单击左下角图标,依次进入Preferences和 Screensaver 2.2. 进入Display Modes,Mode选择Disable Sc ...

  5. Ubuntu开机自启动程序的方法

    文章目录 Ubuntu开机自启动程序的方法 目标效果 方案1:修改rc.local 测试结果 方案2:单独增加一个开机启动的脚本 错误1 错误2 实测结果 refs 方案3:利用官方快捷方式启动 Ub ...

  6. Jetson nano开机自启动程序

    目录 前言 1.介绍 2.创建开机自启动程序 2.1 创建一个bash文件 2.2 创建一个service文件 2.3 添加权限 2.4 移动service文件 2.5 启动服务 2.6 停止/重启服 ...

  7. Win10系统如何关闭开机自启动程序,看这里就够了,怎样关闭Windows10电脑自启动软件

    现如今我们大家不论是生活中还是工作中运用电脑都是甚为广泛,对于电脑的操作,有人会把一些软件设置为开机自启动,如果当我们不需要自启动的时候怎样关闭自启动程序呢?不能自启动软件开一次你手动关一次吧,这样太 ...

  8. 开机自启动程序(登陆后)

    1. Preface 其实有好几种开机自启动程序的方法,这里只写最简单且亲测可行的. 2. Method 使用系统自带的开机自启动程序工具,打开terminal,然后输入gnome-session-p ...

  9. Linux开机自启动程序死循环,无法进入系统

    使用Linux系统开机自启动程序,任何键都无法结束程序,重启也不行. 1 杀死跑飞的程序 当你把你的Linux弄死机了,是完全的死机了,你按了Ctrl + Alt + Backspace,也没用的时候 ...

  10. Everest 0.6 添加开机自启动程序

            不知道什么原因,我的EVL0.6的K菜单里的"应用程序-系统-设置自启动程序"用不了,也许是我用的KDE4.2RC本身的BUG吧,因为我在原来的KDE3.X里是可以 ...

最新文章

  1. NOR和NAND Flash存储器的区别
  2. mybatisplus 强制制空 空覆盖原来的字符串
  3. 程序员的算法课(4)-二分查找
  4. mysql 多个网卡_seriver -- 多个网卡只能认到一个网卡的解决方法
  5. Java面向对象练习题之三角形
  6. lxml库的一些注意事项
  7. python comprehensions_Python中的Comprehensions和Generations
  8. JS 用window.open()函数详解
  9. VB窗体控件设计登录注册页面
  10. 百度AI市场热品试用 | 迪威泰超薄双目摄像机模组
  11. 在线旅游中需要上传获取那些信息,对接旅行社护照录入系统
  12. 开源APM性能检测系统技术选型与架构实战
  13. unity3D 音效的设置 音效的开关 制作声音的开关按钮
  14. 颜值即正义,这个蓝色爱心不好看吗
  15. 免费远程协助软件,可以手机控制电脑,电脑控制电脑!
  16. MFC CFileDialog 相对路径
  17. 最新蓝色网址/公众号导航站源码+Yzmcms内核开发
  18. gcc 查看默认使用的C语言标准版本
  19. 48小时房价暴涨57%,数据解读站在风口上的这座小城
  20. BAT小米奇虎美团迅雷携程等等各大企业校招,笔试面试题。

热门文章

  1. 876. Middle of the Linked List
  2. K3 WISE 开发插件《SQL语句WHERE查询-范围查询/模糊查询》
  3. “adb server is out of date.
  4. 2015暑假多校联合---Friends(dfs枚举)
  5. 美国在线教育的启示:教育领域正在革命
  6. 数据网格组件 Handsontable 不再开源,采用自拟的非商业许可证
  7. wordpress安装记录
  8. [BZOJ] 1040: [ZJOI2008]骑士
  9. 监控web状态的脚本
  10. Java-idea-eclipse-快捷键【mac,win】