`

android java获得root权限调用linux命令

阅读更多
这段代码演示了如何在Java代码里,通过调用su命令来临时修改某些文件的访问权限
Runtime ex = Runtime.getRuntime();
String cmdBecomeSu = "su";
String script = "busybox chmod a+rw /dev/pmem";

try{
java.lang.Process runsum = ex.exec(cmdBecomeSu);
int exitVal = 0;

final OutputStreamWriter out = new OutputStreamWriter(runsum.getOutputStream());
// Write the script to be executed
out.write(script);
// Ensure that the last character is an "enter"
out.write("\n");
out.flush();
// Terminate the "su" process
out.write("exit\n");
out.flush();

exitVal = runsum.waitFor();
if (exitVal == 0) {
Log.e("Debug", "Successfully to su");
}
} catch ( Exception e){
Log.e("Debug", "Fails to su");
}
分享到:
评论

相关推荐

    Android修改系统文件访问权限

    在Android系统中,修改系统文件访问权限涉及到对操作系统底层的深度理解,这通常需要root权限。以下是关于这个主题的详细知识点: 1. **init.rc**:这是Android系统启动时执行的第一个脚本,位于系统的system/core/...

    Android 截图程序实现 需要root权限

    这种情况下,你需要具备C编程基础,理解Linux系统调用,如`ioctl`、`read`、`write`等,以便与设备交互。 编写shell脚本是另一种实现方式。你可以创建一个`.sh`文件,其中包含执行`screencap`命令和其他可能的...

    Android程序中(APK程序)执行Adb shell 命令

    在Android程序开发中,有时我们需要在应用程序内部执行一些系统级别的操作,这通常涉及到与底层Linux系统的交互。Android Debug Bridge(ADB)就是一个强大的工具,允许开发者从计算机上对连接的Android设备进行各种...

    android系统中调用shell脚本

    在Android系统中,由于安全性和权限的限制,直接调用shell脚本并不像在Linux或Unix环境下那样简单。然而,对于非root用户来说,确实有一些方法可以实现对shell脚本的调用,尤其是在开发和调试过程中。下面我们将深入...

    Android例子源码不弹框手机是否Root检测例子

    在Android系统中,Root权限相当于Linux系统中的超级用户权限,允许用户访问和修改系统核心文件,这对于开发者调试或安装自定义软件非常有用,但同时也可能导致系统不稳定甚至安全风险。 现在,我们来看判断Android...

    安卓网络盒子专用的关机重启应用源码需要获取root权限。TV版.zip

    获取root权限后,应用可以通过调用底层的Linux命令来实现设备的关机或重启。 在描述中提到,源码可能需要用户自行调试以适应不同的设备环境,因为每个设备的硬件和软件配置可能存在差异。此外,部分代码可能仅用于...

    Android中如何修改系统时间(两种方法)

    - 使用root权限修改系统时间可能违反设备保修政策,也可能对数据安全产生风险。 总的来说,修改Android设备的系统时间需要相应的权限和知识,一般用户不建议随意尝试。对于开发者而言,理解这些机制有助于调试和...

    android执行shell命令

    在使用Runtime.exec()执行命令时,如果需要root权限,需要先确保应用具有相应的权限或者设备已经root。 - **安全**:谨慎执行shell命令,特别是来自不可信源的命令,因为它们可能包含恶意代码,对设备造成危害。 -...

    如何使用Java代码获取Android移动终端Mac地址.zip

    - 如果你的应用可以使用C/C++代码,可以通过Android NDK调用Linux系统函数`ifconfig`或`ip link show`来获取Mac地址,但这需要处理更复杂的跨平台问题。 5. **使用SystemProperties获取** - 在系统服务层面,可以...

    修改Android系统日期

    1. **获取Root权限**:要修改Android的系统日期,首先需要对设备进行Root。这通常涉及安装一个自定义恢复环境,如TWRP,然后安装Root权限的工具,如Magisk或SuperSU。Root过程需谨慎,因为它可能会导致设备保修失效...

    Android底层记录用户输入, 并模拟

    root权限允许用户获得系统管理员权限,可以读取和修改受保护的数据,包括系统日志和输入事件。 4. **输入事件记录**: 有了root权限后,可以通过读取`/dev/input/event*`设备节点来获取输入事件。这些设备节点代表...

    安卓安装卸载相关-Android程序无需Root可以安装APK.rar

    Android系统基于Linux内核,因此其权限管理遵循Unix-like的权限模型。默认情况下,非Root用户没有权限在系统目录下安装应用,只能通过Google Play或其他受信任的来源进行安装。但通过一些技术手段,我们可以绕过这个...

    Android 通过process进程信息拿到当期正在运行的APP包名

    总的来说,通过分析和理解Android系统的进程模型,结合Java代码执行shell命令和解析输出,我们可以获取到当前栈顶应用的包名。这对于监控应用使用情况、优化性能或实现特定功能(如后台限制)非常有用。开发者在实际...

    C++版Android实时投屏软件系统源码,安卓手机投屏软件源码,无需root权限

    提到无需root权限,意味着软件可能利用了Android的官方API或者特定版本的系统特性,以普通用户权限也能获取屏幕内容。这可能涉及到Android的权限系统,如请求使用USB访问权限或网络权限。 10. **调试与优化**: ...

    Android源码 phone 拨号器 调用android内置拨号功能的简单实现

    Android系统是基于Linux内核的开源操作系统,它采用了分层的架构,主要包括应用层、应用框架层、系统运行库层和Linux内核层。拨号器应用作为应用层的一部分,依赖于下层的服务,如电话服务(Phone Service),来完成...

    Superuser--root

    在Android系统中,root权限类似于Linux中的超级用户权限,允许用户访问和修改系统的深层设置和文件,这对于开发者进行系统级调试、优化或者安装自定义ROM等高级操作是必不可少的。 首先,我们要理解C和Android这两...

    Android关机和重启的调用代码[借鉴].pdf

    由于Android是基于Linux的,因此其关机和重启操作与Linux系统中的相应机制密切相关。以下是对标题和描述中涉及的知识点的详细说明: 1. **权限要求**: 在Android系统中,执行关机或重启操作需要具有较高的权限,...

    AnLinux-App,anlinux允许您在没有根访问权限的android上运行linux。.zip

    3. **无root运行**:通过某种机制,应用可能在不获取Android设备root权限的情况下,模拟Linux环境,这可能涉及到系统调用层的巧妙处理。 4. **源代码管理**:项目采用版本控制系统(如Git)进行源代码管理,用户...

    android reboot 重启

    - 此命令通常需要root权限才能执行,因此一般会通过`su`命令获取root权限后再执行。 2. **代码示例**: ```java String cmd = "su -c reboot"; try { Runtime.getRuntime().exec(cmd); } catch (IOException ...

Global site tag (gtag.js) - Google Analytics