2

我使用以下代码对我的应用程序没有任何问题。

inputstream = Runtime.getRuntime().exec("/system/bootmenu/recovery/sbin/tune2fs -l /data.img").getInputStream();

然而最近 tune2fs 可执行文件被 tune2fs 库取代。我不能再让这个代码工作了。

我试过 :

inputstream = Runtime.getRuntime().exec("/system/bootmenu/recovery/sbin/tune2fs -l data.img",new String[]{"LD_LIBRARY_PATH=/system/bootmenu/recovery/sbin:$LD_LIBRARY_PATH"}).getInputStream();

但是没有成功,我该如何解决这个问题?

4

1 回答 1

2

我建议使用ProcessBuilder而不是Runtime

ProcessBuilder pb = new ProcessBuilder("/system/bootmenu/recovery/sbin/tune2fs", "-l", "data.img");
Map<String, String> env = pb.environment();
env.put("LD_LIBRARY_PATH", "/system/bootmenu/recovery/sbin:" + env.get("LD_LIBRARY_PATH"));
pb.directory(new File("/mnt/sdcard/multiboot/MIUI/"));
Process p = pb.start();
于 2012-04-13T07:24:40.847 回答