【发布时间】:2014-10-14 22:28:33
【问题描述】:
我正在使用 apktool GUI,但我不知道如何使用 Windows 窗体调用 jar 文件。我只想制作apktool GUI程序,所以我不必运行cmd并输入命令和文件路径。
这是我要编写的代码。
调用apktool
Process.Start(java, String.Join(" ", args));
准备参数
string[] args = { "-jar",
apktool, "d",
"-f ",
filename,
decompiled };
apktool = apktool 的路径
filename = APK 文件名
decompiled = Apktool 创建一个 Decompiled 文件夹。反编译的是文件夹名。
"d" = 反编译模式
"-f" = 如果文件存在则覆盖文件(强制)
最终的命令应该是这样的
-jar c:\apktool.exe d -f c:\bf.apk c:\decompiled
但我希望程序在任何位置调用 jar 文件,而不仅仅是在 C:/
【问题讨论】:
-
如果您的某些文件路径包含空格,它将不起作用。你应该用这样的双引号终止这样的字符串:“\””+文件名+“\”“
-
你确定吗?在cmd中我总是写这个命令“-jar c:\apktool.exe d -f c:\bf.apk c:\decompiled”
-
是的。我敢肯定)您的示例路径中没有空格。如果它们存在(例如在 c:\program files\microsoft 中),就会出现问题
-
好的。是否可以使用打开文件对话框和 |DataDirectory|有了这个?我想要的是用户可以打开文件对话框并选择要反编译的 .APK 文件,并且将在程序所在的位置创建反编译文件夹,而不是仅在 C:/ 中,仅在 D:/test/ 或其他位置。如果程序只能在 C:/ 中运行而不是在任何地方运行,那就太糟糕了。