KK版本:
1、修改 alps\system\extras\su\Android.mk
LOCAL_MODULE_TAGS := debug 改为 LOCAL_MODULE_TAGS := optional
2、修改 alps\system\extras\su\su.c
注释
if (myuid != AID_ROOT && myuid != AID_SHELL) {
fprintf(stderr,"su: uid %d not allowed to su\n", myuid);
return 1;
}
3、修改 alps\build\target\product\core.mk
增加
PRODUCT_PACKAGES += \
su \
4、如果是KK(非KK2)版本。需要强行解除 zygote 和 adbd 对Root Capabilities BoundSet 的限制。
修改 alps\kernel\security\commoncap.c
增加
static long cap_prctl_drop(struct cred *new, unsigned long cap)
{
//add star
if(!strncmp(current->comm, "zygote", 16)){
return -EINVAL;
}
if(!strncmp(current->comm, "adbd", 16)){
return -EINVAL;
}
//add end
if (!capable(CAP_SETPCAP))
return -EPERM;
if (!cap_valid(cap))
return -EINVAL;
cap_lower(new->cap_bset, cap);
return 0;
}