mac上的Apktool错误

时间:2014-07-03 15:15:08

标签: android apktool

当我尝试运行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

我遵循了本指南。 http://www.adventuresofanentrepreneur.net/creating-a-mobile-appsgames-company/how-to-unpack-pack-an-apk-file

我是否遗漏了一些需要操作的文件?

3 个答案:

答案 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程序(如7zipWinrar)并尝试解压缩apk。如果这样可行,那么apktool就有问题,您应该报告错误。但是,我相信它会失败,在这种情况下你需要找出原因。可能是以下任何原因:

  1. Apk使用“一般访问位”黑客,它不再在Android上运行,因此apktool删除了对它的支持。
  2. Apk上有密码。
  3. Apk未正确下载,因此未完成