Runtime.exec在最新Java更新后不工作?
这是我的问题:我正在开发一个反编译APK文件的程序。它起作用了。在上一次Java更新之后,我的应用程序给了我一个异常 请帮帮我 更新:Runtime.exec在最新Java更新后不工作?,java,file,apk,decompiler,Java,File,Apk,Decompiler,这是我的问题:我正在开发一个反编译APK文件的程序。它起作用了。在上一次Java更新之后,我的应用程序给了我一个异常 请帮帮我 更新: 新Java版本-版本7更新2 堆栈跟踪: 线程“main”java.lang.IllegalArgumentException中出现异常:可执行文件名中嵌入了引号,拆分参数 在java.lang.ProcessImpl.isQuoted(未知源代码) 位于java.lang.ProcessImpl.getExecutablePath(未知源) 位于java.
- 新Java版本-版本7更新2
- 堆栈跟踪: 线程“main”java.lang.IllegalArgumentException中出现异常:可执行文件名中嵌入了引号,拆分参数 在java.lang.ProcessImpl.isQuoted(未知源代码) 位于java.lang.ProcessImpl.getExecutablePath(未知源) 位于java.lang.ProcessImpl。(未知源) 位于java.lang.ProcessImpl.start(未知源) 位于java.lang.ProcessBuilder.start(未知源) 位于java.lang.Runtime.exec(未知源) 位于java.lang.Runtime.exec(未知源) 位于java.lang.Runtime.exec(未知源) 在ro.etrandafir.mate.PC.decompile.StartingPoint.execute(StartingPoint.java:146) 位于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版本中已更改。有关更多详细信息,请参阅。为什么不直接在帖子中包含错误消息和堆栈跟踪?它在屏幕上。不管怎样,我现在就在这里发布。在你的帖子中发布来源、错误消息和跟踪信息会让其他人更容易帮助你,因为他们不必检查链接是否导致不可靠的来源、单击链接、加载图像等。这也是一种好的做法,因为你的帖子不会受到链接腐朽的影响,因此在将来对其他人更有帮助。Mediafire、Google Drive或Dropbox链接都不会“消亡”,所以我将这些文件放在一个名为“请勿删除”的文件夹中。无论如何,如果您想反编译apk,这个程序将非常有用,它运行apktool、dex2jar和jad,并将结果放在一个文件夹中,从而生成一个eclipse项目,可以进行编辑和重新编译(资源、xml、代码等)。谢谢。请不要投反对票!我不想被禁止。我只有18岁。再次感谢你的链接,它真的帮助了我。