2015-09-07 105 views
15

当我使用minifyEnabled true shrinkResources true gradle任务失败,出现异常 `执行失败的任务':xxxx:packageRelease'。无法计算散列

Unable to compute hash of D:\asspace\xxxx\xxxx\build\intermediates\classes-proguard\release\classes.jar `

+2

了,你能--info选项来运行获得更多的日志输出? – msdx

+0

如果您可以显示完整控制台日志 – SILINIK

+0

这可能会有所帮助[错误:任务':app:packageRelease'的执行失败。 >无法计算散列/../AndroidStudioProjects/../classes.jar](http://stackoverflow.com/questions/31643339/errorexecution-failed-for-task-apppackagerelease-unable-to-compute-hash) – blahdiblah

回答

9

请仔细阅读控制台中的警告。我也面临类似的问题,在我的情况下,有关于处理第三方图书馆的警告。应用到该库的ProGuard文件相关的相应更改后,都开始正常工作

+0

是啊,非常感谢 – Lemon

4

我有同样的问题。对我而言,我的项目的proguard文件,即proguard-rules.pro,以某种方式重命名为proguard-android.txt

proguard-android.txt保留为Android的默认proguard的规则,所以基本上,我是压倒一切的Android的proguard的文件,这是造成混乱,并且我会得到无法计算哈希消息。

一旦我将我的项目中的文件名从proguard-android.txt更改为proguard-rules.pro,我便能够正常工作。

+1

没有为我工作。任何人都找到了解决这个问题的办法 – checklist

6

这个固定的问题对我来说: 添加那些Proguard的:

-keep class com.google.android.gms.** { *; } 
-dontwarn com.google.android.gms. 
+1

几乎相同,有些类不能被编程。我检查了我的libs并在我的proguard文件中添加了规则。 – Lemon