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 に答える