Runtime.exec在最新的Java更新后无法工作?
这是我的问题:我正在研究一个反编译APK文件的程序。它正在工作。之前的Java更新之后,我的应用程序给我一个例外。Runtime.exec在最新的Java更新后无法工作?
请帮助我。
UPDATE:
新的Java版本 - 版本7更新2
-
堆栈跟踪:在线程
异常 “主” java.lang.IllegalArgumentException异常:可执行文件名称已嵌入报价,将参数 分割为java.lang.ProcessImpl.isQuoted(Unknown Source) at java.lang.ProcessImpl.getExecutablePath(Unknown Source) at java.lang.Pr ocessImpl。(未知来源) 在java.lang.ProcessImpl.start(未知来源) 在java.lang.ProcessBuilder.start(未知来源) 在java.lang.Runtime.exec(未知来源) 在java.lang中.Runtime.exec(Unknown Source) at java.lang.Runtime.exec(Unknown Source) at ro.etrandafir.mate.PC.decompile.StartingPoint.execute(StartingPoint.java:146) at ro.etrandafir.mate .PC.decompile.StartingPoint.main(StartingPoint.java:25)
-
源代码:
try { Process p = Runtime.getRuntime().exec("\"" + apktoolBat .getAbsolutePath() + "\" d -s " + fn); BufferedReader br = new BufferedReader( new InputStreamReader(p.getInputStream())); String line = null; while ((line = br.readLine()) != null) { System.out.println("Apktool: " + line); } } catch (IOException e) { System.err.println("ERROR: Could not use APKTOOL!"); e.printStackTrace(); return; }
在此先感谢!
此功能在新的java版本中已更改。有关更多详细信息,请参阅oracles documentation of the feature change。
谢谢。请不要低估!我不想被禁止。我只有18个声望。并再次感谢您的链接,它真的帮了我。 – Chaoz 2013-04-29 14:43:35
为什么你不直接在邮件中包含错误消息和堆栈跟踪? – SpaceTrucker 2013-04-29 12:43:03
它在屏幕上。无论如何,我现在在这里发布它。 – Chaoz 2013-04-29 13:19:20
在帖子中发布来源,错误消息和痕迹可以让其他人更容易帮助您,因为他们不必检查链接是否会导致不可靠的来源,点击链接,加载图片等。这也不错练习,因为你的帖子不会受到链接腐烂的影响,因此对未来其他人更有帮助。 – SpaceTrucker 2013-04-29 13:35:03