目录
1、frameworks/base/core/jni/com_android_internal_os_Zygote.cpp
2、kernel-4.14/security/commoncap.c
3、system/core/libcutils/fs_config.cpp
一、概述:
在系统开发中,有时需要用到cmd的方式,即getRuntime().exec();大多数情况下,没有root权限都能实现大部分功能。
但是有些是需要root权限的,系统源码中对某些命令做了权限判断,需要root权限才能使用。
使用getRuntime().exec("su")获得root权限,但是如果系统未配置的话,会导致以下报错:
W/System.err: java.io.IOException: Cannot run program "su": error=13, Permission denied
W/System.err: at java.lang.ProcessBuilder.start(ProcessBuilder.java:1050)
W/System.err: at java.lang.Runtime.exec(Runtime.java:699)
W/System.err: at java.lang.Runtime.exec(Runtime.java:529)
W/System.err: at java.lang.Runtime.exec(Runtime.java:426)
提示权限缺失。
下面针对如何在系统中配置root权限(su权限),做一个记录分享。
二 、修改文件
核心修改文件如下:
frameworks/base/core/jni/com_android_internal_os_Zygote.cppkernel-4.14/security/commoncap.csystem/core/libcutils/fs_config.cppsystem/extras/su/su.cpp