ИТАК устройство укоренились. Любая причина, по которой вы пытаетесь выполнить эту команду, используя эту библиотеку?
Что я пытаюсь сказать, почему вы не можете просто запустить команду оболочки?
runRootCommand
метод:
static boolean runRootCommand(String command) {
boolean status = true;
DataOutputStream os = null;
try {
Process process = Runtime.getRuntime().exec("su");
os = new DataOutputStream(process.getOutputStream());
os.writeBytes(command + "\n");
os.writeBytes("exit\n");
os.flush();
process.waitFor();
} catch (IOException | InterruptedException e) {
Log.e(TAG, e.toString());
status = false;
} finally {
try {
if (os != null)
os.close();
} catch (IOException e) {
Log.e(TAG, e.toString());
status = false;
}
}
return status;
}
И затем вызвать этот метод так:
boolean success = runRootCommand("pm enable com.android.systemui");
if(success) {
// command was successful
} else {
// command was NOT successful
}
Это запустит команду, как "Су" (суперпользователя). Надеюсь, это поможет.
через 'adb', вам разрешено выполнять эту команду, даже если ваше устройство не внедрено, но commend не будет работать, если устройство не внедрено независимо от используемой библиотеки. Итак, если физическое устройство действительно внедрено? –
@ th3pat3l, устройство уходит корнями по умолчанию. Таким образом, я могу запускать большинство корневых команд. например, когда я выполняю команду «перезагрузка», это не сработает. Однако, если я выполняю его как перезагрузку корневого устройства. – guness
Я отправил ответ. Посмотрите, поможет ли это вам –