2

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

我是否缺少一些需要操作的文件?

4

3 回答 3

0

我检查了所有其他解决方案,但现在我发现我使用的是预装在我的机器上的 jdk1.6。也许java更新可能会解决这个问题。apktool 文档明确提到它至少需要 jdk 1.7。更多信息在这里:https ://code.google.com/p/android-apktool/

于 2014-10-05T08:35:59.830 回答
0

尝试先解压缩您的apk文件

apk 是一个 zipfile 消息说它不能先解压缩 apk

所以试着自己解压apk文件看看是不是真的apk

于 2015-04-21T11:56:51.503 回答
0

此错误意味着 Apktool 无法打开 Zipfile 来读取它想要的文件(classes.dex在这种情况下)。尝试使用常规 Zip 程序(Like7zipWinrar)并尝试解压缩 apk。如果这可行,那么 apktool 有问题,您应该报告一个错误。但是,我相信它会失败,在这种情况下,您需要弄清楚为什么会这样。可能是以下任何原因:

  1. Apk 利用“通用访问位” hack,它不再在 Android 上运行,因此 apktool 删除了对它的支持。
  2. Apk 上有密码。
  3. Apk 下载不正确,因此不完整
于 2015-04-21T14:19:38.377 回答