天天看點

【Android系統源碼修改】預設開啟root權限

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 [email protected])
    $(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 $^ > [email protected]
           

紅字部分改成如上所示。

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權限

【Android系統源碼修改】預設開啟root權限