因为一些原因,要给未签名的apk重新签名,需要用到jarsigner工具,但是签名之后,apk无法安装,百思不得其解。终于找到一个解决方案,现在分享给大家:
在签名时,要加上2个参数:
复制代码 代码如下:
-digestalg SHA1 -sigalg MD5withRSA
造成无法签名错误的原因,初步估计是JDK版本的问题。JDK 1.6签名没事,但是1.7会出这个问题。
完整的签名命令如下:
复制代码 代码如下:
jarsigner -verbose -keystore feelyou.keystore -storepass feelyou.info -signedjar signed.apk -digestalg SHA1 -sigalg MD5withRSA unsigned.apk feelyou
解释:
1、-keystore feelyou.keystore:指定需要使用的签名文件,直接写文件名说明在当前目录下,否则请自行指定具体路径
2、-storepass feelyou.info:自动输入密码,keystore的密码和alias的密码都是我用的都是feelyou.info
3、-signedjar signed.apk:指定签名后的文件存储路径,这里是说以signed.apk的文件名存在当前路径下
4、-digestalg SHA1 -sigalg MD5withRSA:这就是必须加上的参数,如果你是jdk 1.6也不受影响
5、unsigned.apk:未签名的apk路径,这里是当前路径下的unsigned.apk文件
6、feelyou:最后这个是alias
【jarsigner重新签名apk无法安装的解决方法】相关文章:
★ 用Android Location获取当前地理位置的方法
★ android中ListView多次刷新重复执行getView的解决方法
★ Android中使用Toast.cancel()方法优化toast内容显示的解决方法
★ Android 将 android view 的位置设为右下角的解决方法
★ android真机调试时无法显示logcat信息的解决方法介绍