Android 如何永久性开启adb 的root权限
来源:互联网 发布:小额贷款哪个软件最好 编辑:程序博客网 时间:2024/05/16 04:47
adb 的root 权限是在system/core/adb/adb.c 中控制。主要根据ro.secure 以及 ro.debuggable 等system property 来控制。
默认即档ro.secure 为0 时,即开启root 权限,为1时再根据ro.debuggable 等选项来确认是否可以用开启root 权限。为此如果要永久性开启adb 的root 权限,有两种修改的方式:
1. 修改system property ro.secure, 让ro.secure=0。
2. 修改adb.c 中开启root 权限的判断逻辑。
下面详细说明这两种修改方式:
第一种方法. 修改system property ro.secure, 让ro.secure=0。
(1)修改alps/build/core/main.mk
ifneq (,$(user_variant))
# Target is secure in user builds.
ADDITIONAL_DEFAULT_PROPERTIES += ro.secure=1
将ADDITIONAL_DEFAULT_PROPERTIES += ro.secure=1 改成 ADDITIONAL_DEFAULT_PROPERTIES += ro.secure=0
(2) 在android JB 版本(4.1) 以后,google 从编译上直接去除了adbd 的user 版本root 权限, 为此您要修改system/core/adb/Android.mk
中的编译选项 ALLOW_ADBD_ROOT, 如果没有打开这个选项,那么adb.c 中将不会根据ro.secure 去选择root 还是shell 权限,直接返回shell 权限。
因此您必须需要Android.mk 中的第126行:
ifneq (,
===> ifneq (,
第二种方法. 修改adb.c 中开启root 权限的判断逻辑。这里针对4.1 以后版本 和4.1以前版本有所区别。
如果是JB 4.1 以后版本,直接修改函数 should_drop_privileges() 函数, 清空这个函数,直接返回 0 即可。返回0 即开启root 权限。
[测试与确认]
当修改完成后,只需要重新build bootimage ,然后download 即可,然后到setting 中开启debug 选项,adb 连接后,会显示 #, 即root 成功。
如果贵司没有拿到adb 的source, 而贵司又需要自己修改adb 的话, 那么就麻烦贵司提交eService。由我司进一步协助贵司处理。
[相关FAQ]
JB 版本后user build + eng bootimage 无法开机
如何打开user debug选项
JB 4.2 user 版本的开发选项不见了,如何打开adb debug
- 如何永久性开启adb 的root权限
- 如何永久性开启adb 的root权限
- 如何永久性开启adb 的root权限
- 如何永久性开启adb 的root权限
- Android 如何永久性开启adb 的root权限 M
- Android 如何永久性开启adb 的root权限 M
- Android 如何永久性开启adb 的root权限
- Android 如何永久性开启adb 的root权限 M
- Android 如何永久性开启adb 的root权限
- Android 如何永久性开启adb 的root权限 M
- Android如何永久性开启adb的root权限
- Android 如何永久性开启adb 的root权限
- Android 如何永久性开启adb 的root权限
- [FAQ06317]如何永久性开启adb 的root权限
- user版本如何永久性开启adb 的root权限
- Android M版本 user软件如何开启adb的root权限
- 修改Android源码,开启adb的Root权限
- android如何设置adb root权限
- 猫哥带你去战斗——Java Web开发——Java篇[3]——常用类型
- 交换与路由练习(三、生成树 静态路由)
- Android APP开发记录
- Codeforces Round #394 (Div. 2)
- Quartz 2D 以及手势的综合 小demo
- Android 如何永久性开启adb 的root权限
- Struts2中转发和重定向的区别
- 以root用户远程登录Linux报错:Permission denied, please try again.
- 2.1.2
- 进程与线程的一个简单解释
- Java动态代理初探
- iOS CALayer (图层的相关知识)
- 蓝桥杯-回文数
- 史上最简单的 MyBatis 教程(一)