[Android] Algorithm HmacPBESHA256 not available
何がtriggerになったのか分からないのですが、突然、Android Studioのdebug build時にapkへのsigningが失敗するようになりました。Flutterの環境を整えていた最中でしたが、Androidアプリのビルドでも起こるようになったので、あまり関係ないかな?とは思ってます。
- M1 Macbook Air 13 inch
- Android Studio 4.2.2
Error message曰く、~/.android/debug.keystore
に関して Algorithm HmacPBESHA256 not available
とのことです。
How I could solve it
まず https://note.com/iga34engineer/n/ndbe247c8e23a こちらを参考にさせていただき、keystoreを再生成します。
次に2つのoptionがあると思います。
signingConfigs
1. Specify debug keystore from 1つめは build.gradle
の signingConfigs
に、その再生成したkeystoreを直接していする方法。app/
配下へkeystore (jks) を移動し、
signingConfigs {
release {
storeFile file("release.jks")
storePassword "xxx"
keyAlias "xxx"
keyPassword "xxx"
}
debug {
storeFile file("debug.jks")
storePassword "android"
keyAlias "androidebug"
keyPassword "android"
}
}
とでもすれば良いです (逆に複数人で開発してる場合は自然とこのような手順を踏むと思いますが)。
ですがこの方法ですと、また別のアプリを作り始めた時に同じことが起こります。学習のために小さなprojectを作っては捨て、みたいなことを想定するとなかなか面倒です。
~/.android/debug.keystore
2. Replace https://developer.android.com/studio/publish/app-signing?hl=ja#debug-mode によると、 ~/.android/debug.keystore
というのは環境セットアップ後の初回ビルドの際にIDEによって自動生成される物なのですね。
であれば、これは置き換えてしまっても特に困ったことは起こらなそうです (たぶん)。
私の手元で ~/.android/debug.keystore
をdeleteし (他の場所に念のためbackupし) 、作成したjksファイルで置き換えたところ、 run > signing > install
は動くようになりました。
Discussion