apk 重新签名

a.使用工具re-sign.jar : 目前研究当中未通过

b.使用命令操作

1. 删除apk的原签名

   1. 修改apk包.apk后缀名为.zip。

 2. 打开zip包,删除文件夹META-INF目录。该目录存放签名后的CERT和MANIFEST文件,用户识别软件的签名和版权。

   3. 重新修改.zip后缀名为.apk

 

2. 生成签名证书

   在cmd下,使用JDK自带的keytool证书工具

   keytool -genkeypair -alias androidauto.keystore -keyalg RSA -validity 20000 -keystore android.keystore

   参数解释:

   [-genkeypair]  生成密钥对

   [-alias <别名>]   要处理的条目的别名. androidauto.keystore为该证书的别名

   [-keyalg <算法>] 密钥算法名称  RSA表示加密

   [-validity <天数>] 有效天数 20000表示该证书有效天数为20000

   [-keystore <名称>] 密钥库名称 生成为android.keystore名称的密钥库

   

3.为apk生成新签名

   将证书和修改后的apk放在同一个目录 , cmd 进入该目录下,使用JDK自带的jarsigner签名工具 :

  jarsigner -verbose -keystore android.keystore -signedjar new_debug.apk old.apk androidauto.keystore

   参数解释:

   用法:jarsigner -verify [选项] jar-file 别名

   [-verbose [:suboptions]]   显示签名详细信息,子选项可以是all ,grouped或 summary

   [-keystore <url>]  密钥库位置,以上指当前目录下的android.keystore

   [-signedjar<文件>]  已签名的Jar文件的名称 -signedjar new_debug.apk (新签名生成的apk) old.apk (需要签名的apk)

   androidauto.keystore 为签名使用证书的别名

posted on 2016-12-27 14:38  碎碎欢颜  阅读(204)  评论(0)    收藏  举报

导航