2

我正在尝试运行以下代码,我正在使用 [1]:https ://github.com/rbochet/Fast-Forward-Reboot这个链接。

 try {
        Runtime.getRuntime().exec(
                new String[] { "/system/bin/su", "-c", "reboot now" });
    } catch (IOException e) {
        e.printStackTrace();
    }

并且错误 W/System.err: java.io.IOException: Error running exec()。命令:[/system/bin/su,-c,现在重新启动] 工作目录:null 环境:null。

权限

android.permission.WRITE_EXTERNAL_STORAGE
android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_INTERNAL_STORAGE
android.permission.READ_INTERNAL_STORAGE
android.permission.REBOOT.         

我正在使用 Android Studio,目标 Android 6.0(API 级别 23)任何人请有一个想法。提前致谢。

4

2 回答 2

0

替换"/system/bin/su""/system/xbin/su"

于 2015-10-02T09:28:57.717 回答
0
    /**
     * Checks if the device is rooted.
     *
     * @return <code>true</code> if the device is rooted, <code>false</code> otherwise.
     */
    public boolean isRooted() {
        // get from build info
        String buildTags = android.os.Build.TAGS;
        if (buildTags != null && buildTags.contains("test-keys")) {
            return true;
        }
        // check if /system/app/Superuser.apk is present
        try {
            File file = new File("/system/app/Superuser.apk");
            if (file.exists()) {
                return true;
            }
        } catch (Exception exception) {
            // ignore
            exception.printStackTrace();
        }
        String[] commands = {
                "/system/xbin/which su",
                "/system/bin/which su",
                "which su"
        };
        for (String command : commands) {
            try {
                Runtime.getRuntime().exec(command);
                return true;
            } catch (Exception exception) {
                exception.printStackTrace();
            }
        }
        Log.d("message-startUp: ", "RootUtil");
        return false;
    }

如果您的设备无根,仍然会出现相同的错误

于 2016-08-31T08:47:31.147 回答