menu

秋梦无痕

一场秋雨无梦痕,春夜清风冻煞人。冬来冷水寒似铁,夏至京北蟑满城。

Avatar

jarsigner自动输入密码

jarsigner是干什么的,请参考之前写的blog: Android Studio 3.0带来的烦恼(三) : INSTALL_FAILED_TEST_ONLY, INSTALL_PARSE_FAILED_NO_CERTIFICATES

鉴于程序员的良好品德:爱折(tou)腾(lan)
因为每次签名的时候都要手动输入一次密码,烦恼不已,所以看看能不能解决一下。

首先,发现了一个有趣的办法:
(shell)$ (sleep 1;echo password)|cmd
(cmd)> (sleep 1 && echo password)|cmd
可以完成自动输入的功能。

举例如下:
(cmd)> (sleep 1 && echo echo "hello world";exit;)|php -a
可以看到php执行成功并输出“hello world”后退出。

然而,jarsigner说:Keystore was tampered with, or password was incorrect
好吧,不知道jarsigner怎么就不认了的。
但是我还是会想办法让你认的。

然后,找到正确的姿势了:
jarsigner.exe -keystore ifyr.keystore -storepass pwd4ifyr -signedjar ifyr_signed.apk ifyr.apk ifyr.keystore -digestalg SHA1 -sigalg SHA1withRSA -tsa http://timestamp.digicert.com
也就是加入参数 -storepass 密码(不用引号)

Done.