【问题标题】:Error:Execution failed for task ':app:proguardRelease' (invalid entry CRC)错误:任务 ':app:proguardRelease' 执行失败(无效的条目 CRC)
【发布时间】:2015-01-20 14:19:21
【问题描述】:

Error:Execution failed for task ':app:proguardRelease' 还有很多其他问题,但我找不到任何可以告诉invalid entry CRC 该怎么做的问题。

我正在从 Eclipse 迁移到 Android Studio,我正在尝试弄清楚它是如何工作的,尤其是 Gradle。我导入了一个现有的 Android 项目。在将 sdk 更新为 api 21 并在文件/项目结构中设置 java 7 路径后,一切似乎都在工作。我可以运行我的应用程序并构建它。但是,当我执行 Gradle assembleRelease 或 Build/Generate Signed APK 时,出现以下错误:

Error:Execution failed for task ':app:proguardRelease'.
> java.io.IOException: Can't read [/home/me/adt-bundle/sdk/platforms/android-21/android.jar] (invalid entry CRC (expected 0x51d86068 but got 0xe44d416b))

这是我的 gradle 文件:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "com.example.myapp"
        minSdkVersion 8
        targetSdkVersion 21
    }

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
        }
    }
}

dependencies {
    compile 'com.android.support:support-v4:21.0.3'
}

如果我设置minifyEnabled false,我可以让它工作,但我想使用proguard,而不是禁用它。

我猜这与旧文件名和新文件名不匹配有关,但我无法弄清楚它是什么。我即将放弃并回到Eclipse,但我想我会先在这里问。谢谢。

线索而非解决方案(对我而言):

更新

不只是从 Eclipse 导入的文件不起作用。即使在 Android Studio 中启动一个新项目也没有用。

按照@ScottBarta 的建议,我从here 重新下载了sdk。 (因为我已经安装了 Android Studio,所以我只下载了页面底部的“SDK Tools Only”。)我重命名了旧的 sdk 文件夹(而不是删除它)。当我打开 Android Studio 时,它询问 sdk 文件夹在哪里,所以我将它指向我刚刚下载的新文件夹。当 gradle 在启动时尝试做它的事情时,它发现了其他缺少的组件(平台、构建工具、appcompat),所以我只是根据 gradle 给我的错误消息一一安装。

我在下载所有内容时正在写这篇文章。让我们看看它现在是否有效……是的!它确实!谢谢你,@ScottBarta!

【问题讨论】:

    标签: android eclipse gradle android-studio


    【解决方案1】:

    这看起来像是一个损坏的 Android SDK - 错误的 CRC 表示其中一个文件中的某些位是错误的。尝试重新安装它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-11-02
      • 1970-01-01
      • 2018-02-17
      • 1970-01-01
      • 2016-10-26
      相关资源
      最近更新 更多