Android 无法读取所需库的存档文件或该存档文件不是有效的ZIP文件

Android 无法读取所需库的存档文件或该存档文件不是有效的ZIP文件,android,eclipse,github,adt,Android,Eclipse,Github,Adt,在讨论这个问题之前,让我解释一下我做了什么使我陷入了这个问题 我在上创建了一个帐户,并创建了一个名为Android的存储库 然后我安装了Windows7 然后我打开了这个客户端,提供了身份验证,并将存储库克隆到本地目录C:\Users\Aniket\Documents\GitHub\Android(这个文件夹中有.git文件夹) 然后我转到我的EclipseADT并安装了所述的EGit插件。我也 然后在Eclipse中,我右键单击我的项目TicTacToe进入Team->Share projec

在讨论这个问题之前,让我解释一下我做了什么使我陷入了这个问题

  • 我在上创建了一个帐户,并创建了一个名为Android的存储库
  • 然后我安装了Windows7
  • 然后我打开了这个客户端,提供了身份验证,并将存储库克隆到本地目录
    C:\Users\Aniket\Documents\GitHub\Android
    (这个文件夹中有
    .git
    文件夹)
  • 然后我转到我的EclipseADT并安装了所述的EGit插件。我也
  • 然后在Eclipse中,我右键单击我的项目
    TicTacToe
    进入
    Team->Share project
    ,并提供我的存储库路径,即
    C:\Users\Aniket\Documents\GitHub\Android
  • 我的项目已添加到本地存储库,在我的github客户端中,它向我显示了在github站点上的实际存储库中提交文件的所有选项
  • 但我的项目突然显示错误,红色“!”在上面签字

    描述-->所需库的存档:'C:/Users/Aniket/AndroidWorkspace/TicTacToe /无法读取项目“TicTacToe”中的libs/android-support-v4.jar,或者该文件不是有效的ZIP文件

    资源-->TicTacToe

    路径位置-->生成路径

    类型-->生成路径问题

  • 注意:错误是Eclipse上错误控制台中显示的一行。为了便于阅读,我把它分成了两部分

    即使在分离存储库之后,也会显示该错误


    以前有人遇到过这种情况吗。解决方案或解决方法是什么?我在谷歌上搜索过,最初的几个链接表明这是一个Eclipse bug。请建议如何将我的项目恢复到可执行状态?

    这是一个Eclipse错误。我曾多次面临类似的问题。在某个时候关闭并重新打开项目可以正常工作。如果它不起作用,请尝试重新启动Eclipse。

    对于所需的库,还存在显示错误存档的其他情况。

    右键单击项目并打开-->项目属性-->java构建路径-->Android专用库

    如果有两个同名的jar文件,那么从libs中删除一个

    jar文件可能会隐藏一些时间 在窗口中打开libs文件夹,检查是否存在任何隐藏文件 组织-->文件夹和搜索选项-->查看-->选中显示隐藏文件
    并且删除隐藏的jar文件,如果src和包中存在隐藏的java文件,则删除相同的CAS如果有

    我也看到了相同的问题。我删除了那个jar文件,然后右键单击项目,选择maven,然后执行“更新项目…”。jar被再次下载,问题就消失了。

    在我的例子中,我从internet下载了project,在解压缩project后,一些文件被阻止,只需取消阻止文件并重试,问题就解决了。

    在我的例子中,我尝试了所有建议的技巧,但错误仍然存在。我用一个更新的版本解决了更改问题,并将其写入pom.xml中。在这之后,一切现在都正常了。

    我在任何地方都没有发现重复项,并尝试重新启动eclipse,重建项目。我只得到一个图书馆的错误。所以我尝试将jar文件从
    ksoap2-android-assembly-2.5.8-jar-with-dependencies.jar
    重命名为
    ksoap2-2.5.8.jar


    因此,如果上面的问题都没有解决,那么您也可以尝试一下这个

    在我的例子中,重启Eclipse并没有解决问题。我重新启动了计算机,并在eclipse中执行了一个
    项目->清理
    ,这是一个适合我的解决方案:
    转到
    *.classpath
    并删除该行:

    看起来每个人都有不同的故事要讲!对我来说,我必须从eclipse标记选项卡中删除错误,然后再次清理项目。在此之前,我按照@rachit的建议多次关闭并重新打开了project/eclipse,这对我来说不起作用。

    也可能是由于jar文件损坏。最好先检查一下,因为这就是我的原因:

     jar tf myjar.jar
    

    应该列出里面的内容。

    在我的例子中,java安装不正确。因此,我卸载了Java并重新安装了一个新版本。现在,它可以工作了。

    对于我们来说,问题似乎是.jar文件的大小。我建议做下面的测试,看看是否是这样,或者至少排除它。首先看看Eclipse项目中的其他jar,并将它们与有问题的jar进行比较。它比其他的大很多吗?如果是,请尝试以下解决方法。否则,这个答案可能帮不了你。启动之前,使用以下命令行命令将Windows配置为将.jar文件视为.zip文件:

    assoc.jar=CompressedFolder
    (请参阅)

    可选:一个简单的测试 在尝试解决方法之前,这里有一个测试,看看是否确实是jar文件大小让您感到困惑

  • 创建一个大的.jar,其中包含不在问题jar中的随机.class文件。您可以通过使文件夹充满文件、压缩并将.zip扩展名重命名为.jar来实现这一点。Windows可能会警告您更改扩展名。忽略这一点。确保文件夹中有足够的文件,使其比有问题的jar大一点
  • 尝试导入这个人工创建的jar。如果失败时出现同样的错误,那么大小可能就是问题所在
  • 解决办法 如果确实是尺寸问题,您可能已经通过上面可选的简单测试发现了这个问题,那么您可以尝试以下解决方法

  • 解压缩.jar文件。您应该能够在Windows中轻松地执行此操作
  • 将从步骤1获得的文件夹拆分为较小的子文件夹。它可能只是两个文件夹,或者更多,这取决于原始文件夹的大小。您希望文件夹比一些现有的“好”罐子小,这样大小就不会成为问题。确保在执行doi时保持包结构完整