我的设备已植根,现在我想从我的Android应用程序运行.sh
文件。我尝试使用以下代码,但它没有提供预期的输出:
Process process = Runtime.getRuntime().exec("sh /data/local/tmp/xyz.sh");
如果我从adb运行.sh
文件,它对我来说很好。
答案 0 :(得分:0)
Process process = Runtime.getRuntime().exec("sh /data/local/tmp/xyz.sh");
Scanner stdout = new Scanner(process.getInputStream());
while (stdout.hasNextLine()) {
Log.i("stdout", stdout.nextLine());
}
stdout.close();
Scanner stderr = new Scanner(process.getErrorStream());
while (stderr.hasNextLine()) {
Log.e("stderr", stderr.nextLine());
}
stderr.close();
答案 1 :(得分:0)
请尝试以下代码。
try{
Process root = Runtime.getRuntime().exec("su");
DataOutputStream os = new DataOutputStream(root.getOutputStream());
os.writeBytes("sh /system/bin/xyz.sh \n");
os.flush();
}
catch (IOException e) {
e.printStackTrace();
}
catch (SecurityException se){
se.printStackTrace();
}
这个片段对我有用,我希望这可以帮到你。