是否存在如下Folder:
/vendor/mediatek/proprietary/packages/apps/PermissionController/
/vendor/mediatek/proprietary/frameworks/opt/cta/
Framework/base 目录下搜索如下Code 注解:
// M: CTA requirement - permission control @{
ro.vendor.mtk_mobile_management" 和"persist.vendor.sys.disable.moms"一起控制着手机平台是否支持CTA。"ro.vendor.mtk_mobile_management"决定平台是否具有CTA的功能,"persist.vendor.sys.disable.moms"决定CTA的功能是否开启。CTA管控的功能主要包含:1.添加CTA平台相关的权限;2.修改permission review UI;3. 优化缺少权限而引起的crash dialog;4. 对权限组内的每个权限进行单独请求授权;5.settings中添加“manager all permissions”
主要内容:
- "ro.vendor.mtk_mobile_management" 配置
- "persist.vendor.sys.disable.moms"配置
- CTA 管控的功能
一、 "ro.vendor.mtk_mobile_management" 配置
"ro.vendor.mtk_mobile_management"的值在/device/mediatek/common/device.mk中定义,该值与MTK_MOBILE_MANAGEMENT、BUILD_GMS、MTK_GMO_ROM_OPTIMIZE有关。只有MTK_MOBILE_MANAGEMENT = yes,BUILD_GMS = no,MTK_GMO_ROM_OPTIMIZE = no,ro.vendor.mtk_mobile_management才被设置为1
1746 ifeq ($(strip $(MTK_MOBILE_MANAGEMENT)), yes) 1747 ifneq ($(strip $(BUILD_GMS)), yes) 1748 ifneq ($(strip $(MTK_GMO_ROM_OPTIMIZE)), yes) 1749 PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_mobile_management=1 1750 endif 1751 endif 1752 endif
BUILD_GMS与是否是gms load有关,若load是gms load,则BUILD_GMS = yes,否则若不是gms load,BUILD_GMS = no。而MTK_MOBILE_MANAGEMENT、MTK_GMO_ROM_OPTIMIZE在project对应的ProjectConfig.mk中定义。例:
/device/mediateksample/k71v1_64_bsp/ProjectConfig.mk
MTK_MOBILE_MANAGEMENT = yes
MTK_GMO_ROM_OPTIMIZE = no
不通过代码,怎么判断ro.vendor.mtk_mobile_management的值?
cmd: adb shell getprop |find "mtk_mobile"
只有显示结果为[ro.vendor.mtk_mobile_management]: [1],该平台才支持CTA。
二、"persist.vendor.sys.disable.moms"配置
"persist.vendor.sys.disable.moms"控制着CTA功能是否开启,当"persist.vendor.sys.disable.moms"不为1时,CTA功能打开。借助MOMS可以控制"persist.vendor.sys.disable.moms"的值。
方法1:UI操作
在电话拨号器中输入“*#*#3646633#*#*”进入共模,切换到“Others”,进入“MoMs”,点击“Disable MoMs for CTS Test”,则"persist.vendor.sys.disable.moms" = 1,重启后生效;
若点击“Reenable MoMs”,则"persist.vendor.sys.disable.moms" = 0,重启后生效。
方法2:命令行操作
adb shell setprop persist.vendor.sys.disable.moms 1
adb reboot