Android 验证app是否具有root权限

Android 验证app是否具有root权限

在Android应用中,需要root权限的操作通常涉及与系统底层进行交互或修改系统文件、配置以及执行敏感系统级任务。如:修改系统文件和目录、执行系统级命令、管理系统服务、访问硬件设备、修改系统属性、访问系统数据库、修改系统权限等...

本次主要整理了通过app管理系统服务,让设备重启的方式验证app是否具有root权限:

Demo大致如下:

布局文件中添加一个按钮:

实现重启功能代码:

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权限

你可能感兴趣的:(Android,root,android)