android user版本如何打开root权限

rk3568 android11 添加root功能 阅读详情

首先您要确认您是想开启adbd 的root 权限,还是让app 也可以拿到root 权限。

(1). adbd 的root 权限

我们通常在debug user 版本问题时, 或者进行user 版本的monkey test 时都会这个工作,以便debug.

如果你想user 版本adb root 权限默认关闭, 而在想开启时, 可以通过工程模式中的设置项开启, 那么请USER2ROOT 功能。

此功能默认关闭, 如果开启, 需要在ProjectConfig.mk 中设置: MTK_USER_ROOT_SWITCH = yes

(2). app 的root 权限

app 的root 权限通常是通过执行su 命令来获取。注意的是KK 上, 因为多种限制, 普通的su 难以直接拿到root 权限, 需要做针对性的改动.

通常我们会内置具有控制端的第三方su, 下面以内置SuperSU, 以及使用Google default su 为例进行说明。

(3). 如何内置第三方SuperSU

该方式可以绕过zygote 和 adbd 对Root Capabilities BoundSet 的限制.

3.1. 下载SuperSU

SuperSU: http://forum.xda-developers.com/showthread.php?t=1538053

3.2. 内置Superuser.apk 到 system/app

将su 复制并改名成: daemonsu

内置su 到 system/xbin

内置daemonsu 到 system/xbin

内置chattr 到 system/xbin

内置chattr.pie 到 /system/xbin

3.3. 内置install-recovery.sh 到system/etc

更新alps/system/core/inlcude/private/android_filesystem_config.h

在android_files 数组的最开始新增.

{ 00755, AID_ROOT,      AID_ROOT,      0, "system/etc/install-recovery.sh" },

(4). 如何内置Google default su

4.1 放开Google default su 只准shell/root 用户使用的限制.

system/extras/su/su.c 中删除下面3行代码

if (myuid != AID_ROOT && myuid != AID_SHELL) {

fprintf(stderr,"su: uid %d not allowed to su\n", myuid);

return 1;

}

4.2 首先将此编译出的su 内置到system/bin, 然后修改su 的内置权限,启用sbit 位.

更新alps/system/core/inlcude/private/android_filesystem_config.h

在android_files 数组中

增加

{ 06755, AID_ROOT,      AID_ROOT,      0, "system/bin/su" },

注意这行要放在

{ 00755, AID_ROOT,      AID_SHELL,     0, "system/bin/*" },

之前

4.3 如果是KK 以及以后版本, 需要强行解除zygote 和 adbd 对Root Capabilities BoundSet 的限制

更新kernel/security/commoncap.c 中 cap_prctl_drop 函数为:

static long cap_prctl_drop(struct cred *new, unsigned long cap)

{

//begin: Let 'zygote' and 'adbd' drop Root Capabilities BoundSet ineffectively

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;

}

重新编译系统, 重新download 后, adb shell 进入后再输入su 看看是否命令行由$切换到#, 如果切换即成功。

user版本如何打开root权限之android8.1 1.修改ro.adb.secure和ro.secure属性 /code/1-android8.1/build/core$ git diff diff --git a/core/main.mk b/core/main.mk index 44ad271..947d7a3 100644 --- a/core/main.mk +++ b/core/main.mk @@ -239,11 +239,11 @@... 阅读详情

相关推荐

user版本如何打开root权限之android9.0

概述 相比较android8.1,在android9.0上,修改略有不同,主要是selinux判断函数在android9.0上做了修改。 所以在第2步上,修改地方从init.cpp挪到selinux.cpp文件中,函数名字也做了更改。具体修改如下: 1.修改ro.adb.secure和ro.secure属性 /code/1-android9.0/build/core$ git diff diff ...

weixin_43784532的博客 8446

android 9.0user版本如何开启root,打开su

在默认情况下,adbd是以uid root的权限启动的。不过它确实还会通过函数drop_privileges()主动把自己降到uid shell : shell,如下: # /system/core/adb/daemon/main.cpp static void drop_privileges(int server_port) { ScopedMinijail jail(minijail_new()); // Add extra groups: // AID_ADB to acc

Framework-coder的博客 1万+

Android 用户版如何使用属性来开启或关闭 root 权限

在 Android 系统中,root 权限是一种特殊的权限,它允许用户完全控制设备,并访问系统文件和设置。通过修改系统属性值,我们可以开启或关闭 Android 设备的 root 权限。然而,需要注意的是,使用 root 权限可能会导致设备安全性降低,并且某些应用程序可能无法正常工作。因此,在开启 root 权限之前,请谨慎考虑,并确保只在必要时使用。在 Android 中,root 权限的开启或关闭是通过修改系统属性值来实现的。在 Android 中,修改系统属性值需要获取管理员权限。

CodeJolt的博客 413

MTK Android user版本如何打开root权限

[FAQ11862]user版本如何打开root权限 [Description] user版本怎么打开root权限 [Keyword] user root adb superuser 用户版本 root权限 security [Serious Declaration] 严重声明: 任何在最终user版本上打开root权限的手法都会给用户带来安全风险, 请仔细评估您的需求是否真实需要...

caobaokang的专栏 1万+

android11.0(R) root MTK 6771 user版本打开root权限(adb root权限和 apk root权限)

前言 老弟们,还是我,将 root 进行到底!android11.0 root 安排!!! 大体沿用之前 10.0 的修改方法,adb 想要 remount 成功,必须进行 fastboot 解锁,解锁后无需在进行 adb disable-verity 操作,直接 adb remount 就能成功,且可以执行 push 或者 rm 修改方案 总共修改 15 个文件,新增 3 个文件,一共 18 个 modified: build/make/core/main.mk modified: bu

cczhengv 8388

MTK 6737 android6.0 user版本打开root权限(adb root权限和 apk root权限)

系列文章 MTK 6735/6739/6755/6763 android8.1 user版本打开root权限(adb root权限和 apk root权限) 相比较 android8.1 而言,6.0 的要简单很多 1、首先 6.0 不需要关闭 DM-verity,只需开发 adb root 后就能成功 remount,对 system 分区 rw 操作 2、6.0 无需添加在 init.rc 中...

cczhengv 6045

android 支持user版本,user版本如何打开root权限之android8.1

1.修改ro.adb.secure和ro.secure属性/code/1-android8.1/build/core$ git diffdiff --git a/core/main.mk b/core/main.mkindex 44ad271..947d7a3 100644--- a/core/main.mk+++ b/core/main.mk@@ -239,11 +239,11 @@ enabl...

weixin_42328834的博客 1265

RK3399平台开发系列讲解(系统修改记录篇)1.14、Android系统打开user版本的root权限

环境: android7.0 1、lunch时的选择 lunch时候会选择user、userdebug、eng选项,那么他们又有什么区别尼? 2、编译系统的解析(user模式下apk的优化) 编译系统初始化设置中有解析编译的TARGET_BUILD_VARIANT的配置 如果TARGET_BUILD_VARIANT是eng,那么tags_to_install为debug,eng, 并设置Ro...

内核笔记 4281

Android调试:user版本如何打开root权限,打开调试之android9.0

概述 相比较android8.1,在android9.0上,修改略有不同,主要是selinux判断函数在android9.0上做了修改。 所以在第2步上,修改地方从init.cpp挪到selinux.cpp文件中,函数名字也做了更改。具体修改如下: 1.修改ro.adb.secure和ro.secure属性 /code/1-android9.0/build/core$ git diff diff ...

super_AI_x的博客 4241

RK3326 android10.0(Q) user版本打开root权限

RK源码文档中已经提供了 root相关补丁,具体描述如下, apk root 功能: rootservice function: 若产品集成的apk需要单独的root权限或者需要执行su生效,可以打开此功能。 For some app want to get root permission,or need to execute "su" commond. 如何打开: How to open; 1.参考补丁包中源码目录,打上对应目录下的patch文件,若打不上,可以手动对比或拷贝补丁包中修改后文

cczhengv 4243

android10.0(Q) root MTK 6765 user版本打开root权限(adb root权限和 apk root权限)

前言 everybody,好久不见,我胡汉三又回来了,android10.0 root 安排!!! 相比较 Android8.1、9.0 而言,Q 版本 的 root变得相当麻烦,10.0 中引入了动态分区机制,可看这篇Android10 动态分区介绍,同样的要想完全 adb root,需要 fastboot 解锁,然后关闭 verity 才能 adb remount 成功。我尝试和之前一样修改 fstab.in.mt6765 中的 ro 和 rw 初始值,容易导致无法正常开机,在这耗费了很长时间,就暂时先跳过吧,apk root 是 ok的。如果你有更好的方法欢迎留言讨论。 一图胜千言

android10.0(Q) MTK 6765 user版本打开root权限

相比较 Android8.1、9.0 而言,Android10.0 版本 的 root变得相当麻烦,10.0 中引入了动态分区机制,同样的要想完全 adb root,需要 fastboot 解锁,然后关闭 verity 才能 adb remount 成功。我尝试和之前一样修改 fstab.in.mt6765 中的 ro 和 rw 初始值,容易导致无法正常开机,在这耗费了很长时间,就暂时先跳过吧,apk root 是 ok的。

u010345983的博客 6458

大模型应用开发面试全流程实录:RAG、上下文工程与多Agent协作技术深度解析

Transformer 依靠多头自注意力和位置编码实现高效序列建模。Prompt Engineering包含多种设计思路,如 Zero-shot、Few-shot、Chain-of-thought,提升模型泛化和推理。Token 和上下文窗口直接影响模型性能与成本,选择需结合实际业务场景(如客服对话需长窗口)。Embedding 技术是 RAG 的基础,决定了语义检索效果。向量数据库如 FAISS、Milvus等分别适用于本地/分布式检索。

m0_52114506的博客 828
上一篇: setting 相关设置
下一篇: adb 调试连接补上问题
音乐伴我远行
博客等级 码龄20年 19粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值