问题背景:在相机美肤魅我功能没有生效
问题原因:魅我注册的人脸信息保存在data/data/app包/app_meiwo/... , 在拍照的时候魅我算法处理在vendor进程中,
vendor进程无法直接访问data/data下的数据,因此导致魅我算法没有生效。
修改办法:添加selinux权限
log信息:
avc:denied{search} for name="com.huawei.camera" dev="mmcblk0p44" ino=1742 scontext=u:v:mtk_hal_camera:s0
tcontext=u:object_r:app_data_file :s0,c768 tclass=dir permissive=0
解释:search 是Action,操作类型;mtk_hal_camera是Actor,访问主体进程;dir是被访问对象具体的class;
app_data_file是object,被访问的对象。
一句话修改描述:mtk_hal_camera search app_data_file dir
1,selinux代码仓路径有:
system/sepolicy/*
vendor/huawei/chipset_common/sepolicy/common
vendor/huawei/chipset_common/sepolicy/common
device/huawei/**/sepolicy
vendor/huawei/chipset_common/sepolicy/mtk
vendor/etc/selinux
device/mediatek/sepolicy
vendor/huawei/Emui/sepolicy/chipset_common/sepolicy/common
vendor/huawei/Emui/sepolicy/chipset/sepolicy/common
device/mediatek/sepolicy/basic
device/mediatek/sepolicy/bsp
device/mediatek/sepolicy/full
2. adb shell getenforce //获取当前selinux状态
adb shell setenforce 0 //设置selinux状态为permissive
备注:相机魅我功能就是几个人一起拍照,只对指定的人美肤功能加强。
3.添加修改
device/mediatek/sepolicy/basic/non_plat
file.te
####add
type app_meiwo_info, file_type, data_file_type;
file_contexts
/data/data/com.huawei.camera/app_meiwo(/*)?u:object_r:app_meiwo_info:so