最新的Java更新后Runtime.exec无法运行?

时间:2013-04-29 12:38:38

标签: java file apk decompiler

这是我的问题:我正在开发一个反编译APK文件的程序。它工作正常。在上一次Java更新之后,我的应用程序给了我一个例外。

请帮帮我。

更新:

  • 新Java版本 - 版本7更新2

  • 堆栈跟踪:

    线程“main”中的异常java.lang.IllegalArgumentException:可执行文件名具有嵌入式引用,拆分参数     at java.lang.ProcessImpl.isQuoted(Unknown Source)     at java.lang.ProcessImpl.getExecutablePath(Unknown Source)     在java.lang.ProcessImpl。(未知来源)     at java.lang.ProcessImpl.start(Unknown Source)     在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;
    }
    

提前致谢!

1 个答案:

答案 0 :(得分:2)

此新功能已在新版本中更改。有关详细信息,请参阅oracles documentation of the feature change