java - 将 dex2jar 的输出写入其他文件夹

标签 java batch-file apk decompiling dex2jar

我正在尝试编写一个批处理文件,将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)

请告诉我我做错了什么?

最佳答案

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

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

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

关于java - 将 dex2jar 的输出写入其他文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27653491/

相关文章:

java - 如果您的模块本身将参数作为构造函数传入,如何注入(inject)依赖项?

windows - 使用命令提示符确定 Tomcat 是否在 Windows 中运行

batch-file - Windows Batch : How to append the current date and time of a format (yyyymmdd. hhmmss) 在文件名中?

android - 问题 "Entry name ' META-INF...' 碰撞 - Android

Android Studio 导入问题。 (应用工具)

java.lang.NoClassDefFoundError : javax/servlet/http/HttpServletRequest

java - 从 Android 启动不同的任务

java - Lucene 地理距离排序性能

windows - 如何在批处理文件中获取一年中的某一天

安卓和maven : problem with maven dependencies in apk