如何重签名APK文件
答案:2 悬赏:30
解决时间 2021-03-02 02:54
- 提问者网友:妖精ξ也會哭
- 2021-03-01 17:43
如何重签名APK文件
最佳答案
- 二级知识专家网友:颜值超标
- 2021-03-01 19:03
你好,
方法1:需要删除apk包中的签名文件,META-INF(更改apk格式为压缩包形式,删除META-INF文件夹,改回.apk格式);
将证书(debug.keystore)复制到与需要重新签名的apk文件相同的目录下(如:复制到D:\Sign);
进入cmd模式,进入D:\Sign目录;
运行下面的命令jarsigner -verbose -keystore debug.keystore -storepass android -signedjar PhoneBook_signed.apk -digestalg SHA1 -sigalg MD5withRSA PhoneBook.apk androiddebugkey/*解释:-jarsigner是java的签名工具-verbose参数表示:显示出签名详细信息-keystore表示使用当前目录中的debug.keystore签名证书文件-storepass android表示Keystore密码:“android”-signedjar PhoneBook_signed.apk表示签名后生成的APK名称PhoneBook.apk表示未签名的APK Android软件-digestalg SHA1 -sigalg MD5withRSA:这就是必须加上的参数,如果你是jdk 1.6也不受影响-androiddebugkey表示Key别名
ok,看看文件夹吧;
方法2:使用工具re-sign.jar。打开re-sign.jar。删除签名文件,META-INF后,拖动apk到re-sign.jar处,并点击保存;
ok,看看文件夹吧;
满意望采纳,谢谢
方法1:需要删除apk包中的签名文件,META-INF(更改apk格式为压缩包形式,删除META-INF文件夹,改回.apk格式);
将证书(debug.keystore)复制到与需要重新签名的apk文件相同的目录下(如:复制到D:\Sign);
进入cmd模式,进入D:\Sign目录;
运行下面的命令jarsigner -verbose -keystore debug.keystore -storepass android -signedjar PhoneBook_signed.apk -digestalg SHA1 -sigalg MD5withRSA PhoneBook.apk androiddebugkey/*解释:-jarsigner是java的签名工具-verbose参数表示:显示出签名详细信息-keystore表示使用当前目录中的debug.keystore签名证书文件-storepass android表示Keystore密码:“android”-signedjar PhoneBook_signed.apk表示签名后生成的APK名称PhoneBook.apk表示未签名的APK Android软件-digestalg SHA1 -sigalg MD5withRSA:这就是必须加上的参数,如果你是jdk 1.6也不受影响-androiddebugkey表示Key别名
ok,看看文件夹吧;
方法2:使用工具re-sign.jar。打开re-sign.jar。删除签名文件,META-INF后,拖动apk到re-sign.jar处,并点击保存;
ok,看看文件夹吧;
满意望采纳,谢谢
全部回答
- 1楼网友:无字情书
- 2021-03-01 20:26
给apk文件签名主要分三步,创建证书(如果没有)-->签名-->优化(可选)1)使用jdk的keytool工具生成签名用的证书> keytool -genkey -v -alias cert -keyalg rsa -keysize 2048 -validity 10000 -keystorecert.keystore 创建过程需要输入一些标识信息和密码,一些重要的参数值说明如下(根据自己的需要要进行相应的修改): cert.keystore ---- 证书保存的文件名 cert ---- 证书的别名 10000 ---- 10000天的有效期 2048 ---- 默认为1024 bits,android 建议使用2048 bits或更高其他的详细信息可以使用keytool -help查看帮助 证书生成后使用如下命令可以查看证书的信息:> keytool -list -alias cert -keystore cert.keystore 2)使用jdk的jarsigner工具对apk文件签名> jarsigner -verbose -keystore cert.keystore to_sign.apk cert 签名过程需要输入证书的密码,一些重要的参数值说明如下(根据自己的需要要进行相应的修改): cert.keystore ---- 证书保存的文件名 cert ---- 证书的别名 待签名的apk文件根根目录下如果有文件夹“meta-info”,请先删除(重新签名就需要这样做)。如果不想创建过程输出太多信息,可以删除“-verbose” 。上述签名会直接覆盖原来的文件,如果不想被覆盖而签名为另外的新文件 signed.akp,只需将 to_sign.apk 改为 -signedjar to_sign.apk signed.akp 即可。签名后可以使用如下命令验证是否签名成功: > jarsigner -verify to_sign.apk 如果需要查看更详细的验证信息,可修改为:> jarsigner -certs -verbose -verify to_sign.apk 3)使用android sdk的zipalign工具优化已签名的apk文件> zipalign -v 4 unaligned.apk aligned.apk 注意要在签名后再zipalign。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯