RK 默认root、User版本编译
一.默认root
1. adb shell 默认root
在build/core/main.mk下将ADDITIONAL_DEFAULT_PROPERTIES += ro.secure=1
改成ADDITIONAL_DEFAULT_PROPERTIES += ro.secure=0
2.挂载分区device\rockchip\rk3399\fstab.rk30board.bootmode.emmc
system 由 ro 改成 rw
二.补丁
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | diff --git a/build/core/main.mk b/build/core/main.mk index a6b2544..98d0549 100755 --- a/build/core/main.mk +++ b/build/core/main.mk @@ - 393 , 7 + 393 , 7 @@ enable_target_debugging := true tags_to_install := ifneq (,$(user_variant)) # Target is secure in user builds. - ADDITIONAL_DEFAULT_PROPERTIES += ro.secure= 1 + ADDITIONAL_DEFAULT_PROPERTIES += ro.secure= 0 ADDITIONAL_DEFAULT_PROPERTIES += security.perf_harden= 1 ifeq ($(user_variant),user) diff --git a/device/rockchip/rk3399/fstab.rk30board.bootmode.emmc b/device/rockchip/rk3399/fstab.rk30board.bootmode.emmc index 8668a0f..b40ba17 100755 --- a/device/rockchip/rk3399/fstab.rk30board.bootmode.emmc +++ b/device/rockchip/rk3399/fstab.rk30board.bootmode.emmc @@ - 3 , 7 + 3 , 7 @@ # The filesystem that contains the filesystem checker binary (typically /system) cannot # specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK -/dev/block/platform/fe330000.sdhci/by-name/system /system ext4 ro,noatime,nodiratime,noauto_da_alloc wait,resize +/dev/block/platform/fe330000.sdhci/by-name/system /system ext4 rw,noatime,nodiratime,noauto_da_alloc wait,resize # use this line below instead to enable verity #/dev/block/platform/fe330000.sdhci/by-name/system /system ext4 ro,noatime,nodiratime,noauto_da_alloc wait,check,verify /dev/block/platform/fe330000.sdhci/by-name/cache /cache ext4 noatime,nodiratime,nosuid,nodev,noauto_da_alloc,discard wait,check |
default.prop
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | # # ADDITIONAL_DEFAULT_PROPERTIES # ro.secure= 0 ro.allow.mock.location= 0 ro.debuggable= 1 ro.zygote=zygote32 ro.enable_boot_charger_mode= 0 dalvik.vm.dex2oat-Xms=64m dalvik.vm.dex2oat-Xmx=512m dalvik.vm.image-dex2oat-Xms=64m dalvik.vm.image-dex2oat-Xmx=64m ro.dalvik.vm. native .bridge= 0 persist.sys.usb.config=adb |
三.daemonsu 开启root 服务
out\target\product\rk3288\root\init.rc
1 2 | service daemonsu /system/xbin/daemonsu --auto-daemon class main |
四.unroot 编译user版本 注意busybox工具
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | diff --git a/vendor/rockchip/common/bin/Android.mk b/vendor/rockchip/common/bin/Android.mk old mode 100644 new mode 100755 index e58759f.. 3450150 --- a/vendor/rockchip/common/bin/Android.mk +++ b/vendor/rockchip/common/bin/Android.mk @@ - 6 , 7 + 6 , 7 @@ LOCAL_PATH := $(call my-dir) #ifeq ($(strip $(TARGET_ARCH)), arm) ############################################################################### -ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT))) +ifneq (,$(filter userdebug user eng,$(TARGET_BUILD_VARIANT))) # busybox include $(CLEAR_VARS) LOCAL_MODULE := busybox diff --git a/vendor/rockchip/common/bin/bin.mk b/vendor/rockchip/common/bin/bin.mk old mode 100644 new mode 100755 index 13df1ad..db24e88 --- a/vendor/rockchip/common/bin/bin.mk +++ b/vendor/rockchip/common/bin/bin.mk @@ - 12 , 7 + 12 , 7 @@ PRODUCT_PACKAGES += \ endif -ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT))) +ifneq (,$(filter userdebug user eng,$(TARGET_BUILD_VARIANT))) PRODUCT_PACKAGES += \ busybox endif |
默认的目标构建变体(TARGET_BUILD_VARIANT)为 userdebug。常用变体有三种,分别是用户(user)、用户调试(userdebug)和工程模式(eng)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】