android10 user userdebug 如何获取su权限

本文档详细介绍了如何在基于RK3399的Android 10 user版本中获取su权限。首先,需要在build/target目录下修改base_system.mk文件,将su添加到PRODUCT_PACKAGES中。接着,添加必要的权限。最后,由于编译报错,需修改system/sepolicy目录下的相关文件,解除对su执行的限制。通过提供的核心代码,可以检查是否成功获取了root权限。
摘要由CSDN通过智能技术生成

修改基于RK3399 android10

一、user版本默认编译不打包su,故须在
build/target目录下
diff --git a/target/product/base_system.mk b/target/product/base_system.mk
index c39cb31..0d44d05 100644
--- a/target/product/base_system.mk
+++ b/target/product/base_system.mk
@@ -270,6 +270,7 @@ PRODUCT_PACKAGES += \
     wificond \
     wifi-service \
     wm \
+    su \
 
 # VINTF data for system image
 PRODUCT_PACKAGES += \
二、加入缺失的权限

根据日志添加权限
11-09 06:42:22.399 17729 17729 I auditd  : type=1400 audit(0.0:136): avc: denied { execute } for comm="e.myapplication" name="su" dev="dm-0" ino=3483 scontext=u:r:untrusted_app:s0:c94,c256,c512,c768 tcontext=u:object_r:su_exec:s0 tclass=file permissive=1 app=com.example.myapplication
11-09 06:42:22.399 17729 17729 I e.myapplication: type=1400 audit(0.0:136): avc: denied { execute } for name="su" dev="dm-0" ino=3483 scontext=u:r:untrusted_app:s0:c94,c256,c512,c768 tcontext=u:object_r:su_exec:s0 tclass=file permissive=1 app=com.example.myapplication


1 在untrusted_app.te 添加权限   scontext=的值决定再xxx.te添加

比如:
allow untrusted_app  su_exec:file= {execute map getattr  };
untrusted_app 为scontext的值
su_exec  为tcontext中的值
file 为tclass 的值
{}中的值由denied { execute } 决定


diff --git a/BoardConfig_hmi_156_rk99.mk b/BoardConfig_hmi_156_rk99.mk
index f2a8bd7..05a9137 100755
--- a/BoardConfig_hmi_156_rk99.mk
+++ b/BoardConfig_hmi_156_rk99.mk
@@ -68,12 +68,12 @@ BOARD_AVB_ENABLE ?= false
 BOARD_SELINUX_ENFORCING ?= true
 
 ifneq ($(filter true, $(BOARD_AVB_ENABLE)), )
-BOARD_KERNEL_CMDLINE := androidboot.wificountrycode=US androidboot.hardware=rk30board androidboot.console=ttyFIQ0 firmware_class.path=/vendor/etc/firmware init=/init rootwait ro init=/init
+BOARD_KERNEL_CMDLINE :=  androidboot.wificountrycode=US androidboot.hardware=rk30board androidboot.console=ttyFIQ0 firmware_class.path=/vendor/etc/firmware init=/init rootwait ro init=/init
 else # BOARD_AVB_ENABLE is false
-BOARD_KERNEL_CMDLINE := console=ttyFIQ0 androidboot.baseband=N/A androidboot.wificountrycode=US androidboot.veritymode=enforcing androidboot.hardware=rk30board androidboot.console=ttyFIQ0 androidboot.verifiedbootstate=orange firmware_class.path=/vendor/etc/firmware init=/init rootwait ro
+BOARD_KERNEL_CMDLINE := androidboot.selinux=permissive console=ttyFIQ0 androidboot.selinux=permissive androidboot.baseband=N/A androidboot.wificountrycode

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值