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