![Android Selinux详解[九]--sepolicy编译生成产物介绍](http://pic.xiahunao.cn/yaotu/Android Selinux详解[九]--sepolicy编译生成产物介绍)
本文大概介绍下sepolicy编译后生成的产物介绍系统中有如下几种路径存在selinux产物路径目录下文件特征product/etc/selinux以product_开头vendor/etc/selinux以vendor_开头system/etc/selinux以plat_开头system_ext/etc/selinux以system_ext_开头odm/etc/selinux/以precompiled_开头/主目录recovery版本下每个selinux目录下的文件数量和类型基本是一样的以system/etc/selinux生成产物进行介绍主要有以下几个文件和文件夹以表格形式介绍文件/文件夹名作用mapping兼容性策略文件在 mapping 目录下是有 数字.cil 命名的文本文件。主要用于兼容老的vendor策略Google是支持system单独升级的也就说一个老的系统刷了一个新的system.img之后它实际加载的那个策略文件是和它的SDK是相关联的比如R的手机刷了一个S的GSI使用的还是 30.0.cil 文件和vendor下的cil文件去编译的plat_file_contexts存放的是代码中file_contexts中新增的文件标签如果在file_contexts中新增标签可以在此处查看自己新增的标签plat_hwservice_contexts存放的是代码中hwservice_contexts中对应的hwservice标签如果在hwservice_contexts中新增标签可以在此处查看自己新增的标签plat_keystore2_key_contexts存放的是代码中keystore2_key_contexts中对应的标签如果在keystore2_key_contexts中新增标签可以在此处查看自己新增的标签plat_mac_permissions.xml签名文件保存的是apk或三方app用来签名的文件的HEX编码。plat_property_contexts存放的是代码中property_contexts中对应的标签如果在property_contexts中新增标签可以在此处查看自己新增的标签plat_seapp_contexts存放的是代码中seapp_contexts中对应的标签如果在seapp_contexts中新增标签可以在此处查看自己新增的标签plat_sepolicy.cil存放的是所有的allow语句以及genfs_contexts中的标签plat_sepolicy_and_mapping.sha256plat_sepolicy.cil文件对应的hash值plat_service_contexts存放的是代码中service_contexts中对应的标签如果在service_contexts中新增标签可以在此处查看自己新增的标签