読者です 読者をやめる 読者になる 読者になる

i++

プログラム系のメモ書きなど

Android : Error:Execution failed for task ':app:packageRelease'. > Unable to compute hash of .... build\intermediates\classes-proguard\release\classes.jar

Android ProGuard

ProGuard を有効にした Signed apk を作成しようとした際に発生しました。

Error:Execution failed for task ':app:packageRelease'.
> Unable to compute hash of (プロジェクトのフォルダ)\app\build\intermediates\classes-proguard\release\classes.jar

compute hash of で示されていたファイルは存在しておらず、どうやら ProGuard で Warning が検出された場合に、このファイルが生成されないために起こるエラーのようです。

なぜかこのエラーが発生した際のログには ProGuard の Warning 表示がなかったのですが、ビルドし直すと大量に Warning はあったので、proguard-rules.pro に -dontwarn 行を加えたところエラーが解消しました。

自分の場合は Kotlin を使用したため Kotlin 関係の Warning が大量に出ていて、以下の行を追加しましたが、使っているライブラリによって必要な -dontwarn は異なり、参考先では java.nio.filecom.google.android.gms に対して -dontwarn を行っていました。

-dontwarn kotlin.dom.*
-dontwarn org.w3c.dom.events.*

ProGuard は毎回鬼門です。。。

参考