Android Studio打包Signed APK 碰到的一个Error

本文记录了解决在使用Android Studio打包应用时遇到的Unable to compute hash of...错误,导致无法生成app-release.apk的方法。通过检查警告信息和在proguard-rules.pro中加入特定库的dontwarn选项,成功解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前一直用ADT打包Singed APK。后来改用Android Studio开发并打包,debug版本运行都没有问题,但是在

Build->Generate Signed APK时却碰到了一个Error:

Error:Execution failed for task ':app:packageRelease'.
> Unable to compute hash of G:\coding\XXXXXAPP\app\build\intermediates\classes-proguard\release\classes.jar
导致无法生成app-release.apk。

网上类似的问题也有,比如:

http://stackoverflow.com/questions/30934729/cant-generate-signed-apk-from-android-studio-execution-failed-for-task-packa


看上去应该也是碰到了同样的问题,试了一下里面的那些解决方案,发现都不行,但帖子下面的回答提到要查看一下proguard warning,

因为error之前,编译的时候前面肯定有warning. 翻了一下,果然发现很多warning.


是说左边那个库引用的org.apache.http.*这些class都无法找到。

OK,发现问题原因了,那么接下来只要在proguard-rules.pro加下这个库的dontwarn即可。

-dontwarn org.apache.http.**

再重新Build->Generate Signed,就可以生成app-release.apk.


其实原因可以在warning下面找到:

Warning:there were 42 unresolved references to classes or interfaces.
         You may need to add missing library jars or update their versions.
         If your code works fine without the missing classes, you can suppress
         the warnings with '-dontwarn' options.
         (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass)

包括解决方案。所以大家伙在碰到问题时,可以多看看提示,里面或许就有答案。


仅记录一下这个问题的解决方案。给碰到同样问题的同学们一点提示。





评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值