2
我对我的应用程序使用了以下代码,没有任何问题。如何在java中使用预先存在的unix库
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();
但是,如果没有sucess,我该如何解决这个问题?
我不认为$ LD_LIBRARY_PATH将得到解决。您需要从当前环境中提取LD_LIBRARY_PATH并追加它。 – j13r 2012-04-13 07:28:32
谢谢,更新了答案。 – nobeh 2012-04-13 07:31:15
这适用,因为“初始值是当前进程的环境的副本(请参阅System.getenv())。” http://docs.oracle.com/javase/6/docs/api/java/lang/ProcessBuilder.html – j13r 2012-04-13 07:35:20