背景:

SELinux(或SEAndroid)将app划分为主要三种类型(根据user不同,也有其他的domain类型):

1)untrusted_app 第三方app,没有Android平台签名,没有system权限;

2)platform_app 有Android平台签名,没有system权限;

3)system_app 有android平台签名和system权限。

当APP需要做一些系统或系统设备相关的访问读写,新加的权限会跟android内置的neverallow规则冲突,从而造成编译不过。解决方法是为应用新建一个域,添加自定义规则,绕开编译问题。

新建方法:

1,在device/[product]/sepolicy/seapp_contexts 添加上APK的域定义:

user=system seinfo=platform name=com.fiill.fiillplayer domain=fiillplayer_app type=fiillplayer_app_data_file

user=_app,可以是untrusted_app或platform_app,如果seinfo=platform,则是platform_app。根据需要添加。

2,在/device/[product]/sepolicy/vendor/file.te加上

type fiillplayer_app_data_file, file_type, data_file_type ,core_data_file_type ;

3,新建/device/[product]/sepolicy/vendor/fiillplayer_app.te,部分内容参考:

type fiillplayer_app, domain;
app_domain(fiillplayer_app)
binder_use(fiillplayer_app)allow fiillplayer_app system_app_data_file:file create_file_perms;
allow fiillplayer_app system_app_data_file:dir create_dir_perms;
allow fiillplayer_app system_data_file:dir r_dir_perms;
allow fiillplayer_app system_data_file:file r_file_perms;#prop
allow fiillplayer_app hwservicemanager_prop:file { read getattr map open };
get_prop(fiillplayer_app, hwservicemanager_prop)
set_prop(fiillplayer_app, hwservicemanager_prop)

至此已经完成。注意,由于uid设置为system,所以权限有时候需要在system_app配置。如果想独立于system_app,试试user=_app。

android为APK新建SELINUX权限域seapp_contexts相关推荐

  1. android superuser.apk 管理root权限原理分析

    原文出处:http://blog.163.com/szs121@126/blog/static/109056781201223111390835/ 使用android 手机很多情况下需要root权限, ...

  2. Android 10 如何关闭selinux权限

    由于应用层访问设备节点的时候,因为selinux权限问题而访问不了,所以就先关闭selinux 代码路径: system/core/init/selinux.cpp 1.在/selinux.cpp文件 ...

  3. Android 10.0关闭selinux权限

    在开发中,我们经常会遇到由于SELinux造成的各种权限不足,即使拥有"万能的root权限",也不能获取全部的权限,所以怎么样关闭selinux权限呢 system/core/in ...

  4. [Android]开机自启动脚本和selinux权限配置

    概述 在前段时间的工作中,需要开发一个开机自动启动的脚本,现把开发过程记录一下 主要框架 编写一个可以开机自动启动的脚本,方法就是通过rc文件,在boot_complete=1时,去启动这个服务,那么 ...

  5. Android 系统(67)---android apk 的root 权限和USB adb 权限的区别

    android apk 的root 权限和USB adb 权限的区别 USB adb 权限是指,当adb 连接手机时,手机中的守护进程adbd 的权限为root 权限,从而它的子进程也具有root 权 ...

  6. Android系统APK操作GPIO读写及添加权限

    需求描述 上层APK操作GPIO的diretction.value节点,实现点亮和熄灭灯,使用JNI方式,使用以下方式无效 extern "C" JNIEXPORT jint JN ...

  7. android 版本权限差别,android apk 的root 权限和USB adb 权限的区别

    USB adb 权限是指,当adb 连接手机时,手机中的守护进程adbd 的权限为root 权限,从而它的子进程也具有root 权限,通常如果adb shell 看到是: Android 4.0 以后 ...

  8. Android Selinux权限问题

    1.1:log提示: type=1400 audit(1262304982.420:57113): avc: denied { sys_ptrace } for pid=1 comm="in ...

  9. Android 11.0 无源码apk授予QUERY_ALL_PACKAGES权限

    目录 1.概述 2.Android 11.0 无源码apk授予QUERY_ALL_PACKAGES权限的核心类 3.Android 11.0 无源码apk授予QUERY_ALL_

  10. Android中SeLinux权限 .te文件编写

    在android中添加一个LocalSocket通信,权限部分折腾了好几天,终于搞定了. 首先在root权限下使用setenforce 0命令放开selinux权限,看看需要的操作是否能成功.如果可以 ...

最新文章

  1. NIPS 2017录用论文先睹为快!论文作者清华专场分享(附PPT下载)
  2. 12/12 day06
  3. Java设计模式(一):单例模式
  4. Tomcat服务器与Eclipse的关联配置
  5. 数据库-优化-groupby的优化
  6. 4)机器学习基石笔记 Lecture4:Feasibility of Learning
  7. 03-04 元素定位工具
  8. mongoimport csv文件
  9. 深度学习pytorch基础入门教程(1小时)-张量、操作、转换
  10. Windows10安装ubuntu18.04双系统教程(双硬盘)
  11. VSS 获取全部子文件
  12. 4个C++算法数学模板(备战蓝桥杯)
  13. Ubuntu下ASIC/FPGA环境搭建
  14. 一周疫情对行业影响观察 | 中国资产或成避险资产;亚太旅游零售业呼吁政府财政支持...
  15. 微信小程序简单介绍及例子,小白可看
  16. Ubuntu16 网卡rtl8723be 驱动安装
  17. laravel获取最后一条
  18. Word目录中自动添加自定义样式的多级标题的方法
  19. MBA关注:创始人CEO该拿多少工资?
  20. Autowired注解起什么作用呢?

热门文章

  1. linux之调试触摸屏驱动
  2. 安卓bochs安装linux教程,Ubuntu环境下安装Bochs
  3. cisco 交换机 定期 自动 备份配置 -linux,cisco 交换机自动备份配置
  4. 傅里叶变换1 ~ 离散时间傅里叶变换(DTFT)
  5. rtmp协议java实现_RTMP 协议的一个 Java 实现:Flazr
  6. 【实验技术笔记】细胞表型检测之细胞增殖(CCK-8法 + BrdU掺入法 + 平板克隆)
  7. 游戏开发入门终极指南(技术资源大合集)
  8. SEFS安全透明加密内核
  9. Spring 集成教程
  10. 施耐德 m340 编程手册_施耐德推出开放自动化平台,开启“软件驱动自动化”时代...