Android Apk去签名、重新签名的方法
Android开发中很重要的一部就是用自己的密钥给Apk文件签名,不经过签名的Apk文件一般是无法安装的,就算装了最后也是失败。
网上流传的“勾选允许安装未知来源的应用”其实跟签不签名没啥关系,说白了就是允许安装不从电子市场上下载的应用而已。
近几日需要修改一个Apk中JNI调用的.so文件,苦于没有apk源代码,只好研究了一下签名相关的问题。当然有很多第三方工具可以做到,但其实JDK中已经提供了强大的签名工具jarsigner。
1.去除签名
其实很简单,用WinRAR打开apk,找到META-INF文件夹,删除MANIFEST.MF之外的所有其他文件即可。
2.签名
运行jarsigner,如果没有设置PATH环境变量,那可以从JDK安装路径下的bin目录中找到,比如我本机的就是C:Program FilesJavajdk1.8.0_31binjarsigner.exe
jarsigner用法如下:
用法: jarsigner [选项] jar-file 别名 jarsigner -verify [选项] jar-file [别名...][-keystore] 密钥库位置[-storepass <口令>] 用于密钥库完整性的口令[-storetype <类型>] 密钥库类型[-keypass <口令>] 私有密钥的口令 (如果不同)[-certchain <文件>] 替代证书链文件的名称[-sigfile <文件>] .SF/.DSA 文件的名称[-signedjar <文件>] 已签名的' JAR 文件的名称[-digestalg <算法>] 摘要算法的名称[-sigalg <算法>] 签名算法的名称[-verify] 验证已签名的 JAR 文件[-verbose[:suboptions]] 签名/验证时输出详细信息。 子选项可以是 all, grouped 或 summary[-certs] 输出详细信息和验证时显示证书[-tsa] 时间戳颁发机构的位置[-tsacert <别名>] 时间戳颁发机构的公共密钥证书[-tsapolicyid] 时间戳颁发机构的 TSAPolicyID[-altsigner <类>] 替代的签名机制的类名[-altsignerpath <路径列表>] 替代的签名机制的位置[-internalsf] 在签名块内包含 .SF 文件[-sectionsonly] 不计算整个清单的散列[-protected] 密钥库具有受保护验证路径[-providerName <名称>] 提供方名称[-providerClass <类> 加密服务提供方的名称 [-providerArg <参数>]]... 主类文件和构造器参数[-strict] 将警告视为错误
比较常用的参数就是指定keystore的位置和签名后的文件,举例如下:
jarsigner -keystore C:myKey.key -signedjar apk-signed.apk apk-unsigned.apk myKey
待签名的文件是apk-unsigned.apk,签名后的apk是apk-signed.apk。我们也可以不指定-signedjar参数,则在待签名的apk上直接签名。最后一个myKey是我的keystore的别名。
签名完成后再用WinRAR打开,会发现META-INF目录下多了MYKEY.RSA和MYKEY.SF两个文件,他们分别是:
MANIFEST.MF中保存了所有其他文件的SHA-1并base64编码后的值。
MYKEY.SF中也有其他文件的SHA-1并base64编码的值,而且还多一个MANIFEST.MF文件的SHA-1并base64编码后的值
MYKEY.RSA包含了公钥信息和发布机构信息
后两个文件的名称和我的key别名转换为大写后一致。
关于如何生成本机的keystore就不再赘述了,在AndroidStudio和Eclipse中都有相应的工具,图形界面,so easy。
湖南高考排名105480左右排位历史可以上哪些大学,具体能上什么大学
浙江高考排名115060左右排位综合可以上哪些大学,具体能上什么大学
湖南高考排名81440左右排位历史可以上哪些大学,具体能上什么大学
四川高考排名50780左右排位理科可以上哪些大学,具体能上什么大学
甘肃高考排名4380左右排位文科可以上哪些大学,具体能上什么大学
山西高考排名32220左右排位文科可以上哪些大学,具体能上什么大学
春语文S版一年级下册教学计划及分析
精选优美的晚安问候语锦集37句
二年级数学下教学计划
有关虐心的文字签名
有关虐心的文字签名
表达想念之情的签名
40条伤心分手的签名
伤感个性句子集合35句
简洁的伤感个性句子汇编85句
实用的个性悲伤签名集锦75句
广东高考排名15500左右排位物理可以上哪些大学,具体能上什么大学
上海电子信息职业技术学院在云南高考历年录戎数线(2024届参考)
吉林高考排名5360左右排位理科可以上哪些大学,具体能上什么大学
中国人民解放军海军军医大学和中国社会科学院大学哪个好 附对比和区别排
新疆轻工职业技术学院的食品检验检测技术专业排名怎么样 附历年录戎数
辽宁高考排名40230左右排位历史可以上哪些大学,具体能上什么大学
考硅湖职业技术学院要多少分湖南考生 附2024录取名次和最低分
山东高考排名27810左右排位综合可以上哪些大学,具体能上什么大学
湖南高考排名124280左右排位历史可以上哪些大学,具体能上什么大学
四川高考排名264150左右排位理科可以上哪些大学,具体能上什么大学
江苏城市职业学院在广东高考历年录戎数线(2024届参考)
四川高考排名7250左右排位理科可以上哪些大学,具体能上什么大学
山西高考排名50570左右排位文科可以上哪些大学,具体能上什么大学
广西高考排名141840左右排位文科可以上哪些大学,具体能上什么大学
四川高考排名43030左右排位文科可以上哪些大学,具体能上什么大学
青海高考排名15710左右排位理科可以上哪些大学,具体能上什么大学
辽宁高考排名16520左右排位物理可以上哪些大学,具体能上什么大学
考山东建筑大学要多少分安徽考生 附2024录取名次和最低分
河南高考排名143400左右排位文科可以上哪些大学,具体能上什么大学
山东高考排名130050左右排位综合可以上哪些大学,具体能上什么大学
通用伤感个性句子50句
伤感个性句子76条
常用伤感个性句子汇编80条
通用伤感个性句子摘录66条
伤感个性句子合集50句
关于一个人孤独迷茫的时候的个性签名
人生低估的个性签名精选
超萌很二的签名
蕴含深刻人生哲理的微信个性签名摘抄
情侣简短的微信个性签名
潮流时尚个性舞动QQ签名
超拽的搞笑个性签名有哪些
经典霸气男生个性签名
搞笑搞怪个性签名
分手后痛彻心扉的签名