オクラホマので、デバイスが根ざしています。そのライブラリを使用してそのコマンドを実行しようとしている理由は何ですか?
私が言っているのは、自分でシェルコマンドを実行できないということです。
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
}
これは、 "SU"(スーパーユーザ)などのコマンドを実行します。 これが役立つことを願っています。
で 'adb'を使用すると、あなたのデバイスがルートされていなくてもそのコマンドを実行できますが、使用するライブラリに関係なくデバイスがルートされていなければ、物理的なデバイスが実際に根付いていたら? –
@ th3pat3l、デバイスはデフォルトでルートされています。だから、私はほとんどのルートコマンドを実行することができます。例えば、 "reboot"コマンドだけを実行すると、動作しません。しかし、私はそれを実行すると、ルートデバイスとして再起動します。 – guness
私は答えを投稿しました。それがあなたを助けるかどうか参照してください –