【Android系统源码修改】默认开启root权限

Source

1.找到:system\core\adb\adb.c中的static int should_drop_privileges() 方法,直接返回0;
2.找到external\sepolicy\Android.mk中的

sepolicy_policy_recovery.conf := $(intermediates)/policy_recovery.conf
$(sepolicy_policy_recovery.conf): PRIVATE_MLS_SENS := $(MLS_SENS)
$(sepolicy_policy_recovery.conf): PRIVATE_MLS_CATS := $(MLS_CATS)
$(sepolicy_policy_recovery.conf) : $(call build_policy, $(sepolicy_build_files))
    @mkdir -p $(dir $@)
    $(hide) m4 -D mls_num_sens=$(PRIVATE_MLS_SENS) -D mls_num_cats=$(PRIVATE_MLS_CATS) \
        -D target_build_variant=eng \
        -D force_permissive_to_unconfined=$(FORCE_PERMISSIVE_TO_UNCONFINED) \
        -D target_recovery=true \
        -s $^ > $@

红字部分改成如上所示。
3.找到build\core\main.mk文件中的

ifeq (true,$(strip $(enable_target_debugging)))
  # Target is more debuggable and adbd is on by default
  ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=1 persist.service.adb.enable=1
  # Include the debugging/testing OTA keys in this build.
  INCLUDE_TEST_OTA_KEYS := true
else # !enable_target_debugging
  # Target is less debuggable and adbd is off by default
  ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=1 persist.service.adb.enable=1
endif # !enable_target_debugging

红字部分改成如上所示。

或者

在root/default.prop属性中定义三个关键属性,如下图 浅蓝色字 所示,打开root权限
在这里插入图片描述