1

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

请帮我。

更新:

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

  • 堆栈跟踪:

    线程“主”java.lang.IllegalArgumentException 中的异常:可执行文件名称已嵌入引号,在 java.lang.ProcessImpl.getExecutablePath(Unknown Source) 在 java.lang.ProcessImpl.getExecutablePath(Unknown Source) 处拆分参数在 java.lang.ProcessImpl.isQuoted(Unknown Source)。 ProcessImpl.(Unknown Source) at java.lang.ProcessImpl.start(Unknown Source) at java.lang.ProcessBuilder.start(Unknown Source) at java.lang.Runtime.exec(Unknown Source) at java.lang.Runtime.exec (未知来源)在 java.lang.Runtime.exec(未知来源)在 ro.etrandafir.mate.PC.decompile.StartingPoint.execute(StartingPoint.java:146) 在 ro.etrandafir.mate.PC.decompile.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;
    }
    

提前致谢!

4

1 回答 1

2

此功能已在新的 java 版本中更改。有关更多详细信息,请参阅功能更改的 oracles 文档。

于 2013-04-29T13:32:54.707 回答