当我尝试运行apktool来反编译我的apk时,它会发出错误:
Exception in thread "main" brut.androlib.AndrolibException: brut.directory.DirectoryException: java.util.zip.ZipException: error in opening zip file
at brut.androlib.ApkDecoder.hasSources(ApkDecoder.java:199)
at brut.androlib.ApkDecoder.decode(ApkDecoder.java:83)
at brut.apktool.Main.cmdDecode(Main.java:146)
at brut.apktool.Main.main(Main.java:77)
Caused by: brut.directory.DirectoryException: java.util.zip.ZipException: error in opening zip file
at brut.directory.ZipRODirectory.<init>(ZipRODirectory.java:55)
at brut.directory.ZipRODirectory.<init>(ZipRODirectory.java:38)
at brut.androlib.res.util.ExtFile.getDirectory(ExtFile.java:55)
at brut.androlib.ApkDecoder.hasSources(ApkDecoder.java:197)
... 3 more
Caused by: java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:128)
at java.util.zip.ZipFile.<init>(ZipFile.java:145)
at brut.directory.ZipRODirectory.<init>(ZipRODirectory.java:53)
... 6 more
我是否遗漏了一些需要操作的文件?
答案 0 :(得分:0)
我检查了所有其他解决方案,但现在我发现我正在使用我的机器上预装的jdk1.6。也许java更新可能会解决这个问题。 apktool文档明确提到它需要最小的jdk 1.7。更多信息:https://code.google.com/p/android-apktool/
答案 1 :(得分:0)
首先尝试解压缩你的apk文件
apk是一个zipfile,消息称它无法解压缩apk
所以试试你的自己解压缩apk文件以查找它是否是真正的apk
答案 2 :(得分:0)
此错误表示Apktool无法打开Zipfile来读取它想要的文件(在本例中为classes.dex
)。尝试使用常规Zip程序(如7zip
或Winrar
)并尝试解压缩apk。如果这样可行,那么apktool就有问题,您应该报告错误。但是,我相信它会失败,在这种情况下你需要找出原因。可能是以下任何原因: