1

我正在尝试编写一个批处理文件,将 classes-dex2jar.jar 写入其他文件夹。我尝试了以下方法:

d2j-dex2jar %arg1% -o %arg2%

在这里,arg1 是 classes.dex 的路径,arg2 是我希望存储生成的 classes-dex2jar.jar 文件的文件夹。(E:\新\)

现在,我得到了第二个参数的 FileNotFoundException。它说

java.io.FileNotFoundException: E:\new" (The filename, directory name,    
or volume label syntax is incorrect)
    at java.io.FileOutputStream.open(Native Method)
    at java.io.FileOutputStream.<init>(Unknown Source)
    at java.io.FileOutputStream.<init>(Unknown Source)
    at org.apache.commons.io.FileUtils.openOutputStream(FileUtils.java:77)
    at com.googlecode.dex2jar.v3.Dex2jar.to(Dex2jar.java:250)
    at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java
    :110)
    at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:174)
    at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:34)

请告诉我我做错了什么?

4

2 回答 2

2

不要将文件夹作为参数传递,而是将 jar 文件名传递给它。

d2j-dex2jar classes.dex -o "E:\new\classes.jar"

还要确保E:\new目录存在。Dex2jar 不会创建新目录。创建一个目录,然后向 d2j-dex2jar 传递目录的完整路径以及所需的 jar 文件名。

于 2016-03-03T06:46:08.277 回答
0

java.io.FileOutputStream.open- 看起来您正在尝试使用 FileOutputStream 打开目录,这应该是不可能的。

于 2014-12-26T08:25:54.170 回答