Android 验证app是否具有root权限
在Android应用中,需要root权限的操作通常涉及与系统底层进行交互或修改系统文件、配置以及执行敏感系统级任务。如:修改系统文件和目录、执行系统级命令、管理系统服务、访问硬件设备、修改系统属性、访问系统数据库、修改系统权限等...
本次主要整理了通过app管理系统服务,让设备重启的方式验证app是否具有root权限:
Demo大致如下:
布局文件中添加一个按钮:
<Button
android:id="@+id/restartButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Restart Device"
android:onClick="restartDevice" />
实现重启功能代码:
Button checkRootButton = findViewById(R.id.restartButton);
checkRootButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
Process process = Runtime.getRuntime().exec("su");
DataOutputStream outputStream = new DataOutputStream(process.getOutputStream());
// 发送重启设备的命令
outputStream.writeBytes("reboot\n");
outputStream.flush();
// 关闭 su 进程
outputStream.writeBytes("exit\n");
outputStream.flush();
process.waitFor();
} catch (IOException | InterruptedException e) {
e.printStackTrace();
// 处理异常
}
}
});
点击按钮,若设备重启说明app具有root权限,反之不具备root权限