手机上给 APK 重新签名的方法
本篇讲一件事:手里有一个改过的(或解包重打包过的)APK,怎么不连电脑、直接在安卓手机上把它重新签好名。相关的问题可以接着看签名不一致导致装不上的解决办法。
安卓系统在安装一个 APK 之前会核对它的签名;而「重新打包」这个动作本身会破坏原来的签名块,所以改过图标、资源或者回组过的包,直接装多半会被系统拒掉。想装回去,就得先补一次签名。
在手机上完成这件事,可以用 Apksigner 这类专门跑在安卓设备上的签名工具。它的流程大致是:
- 把待处理的 APK 放进手机存储,单独建个文件夹更好找;
- 打开工具,切到「签名」标签页,选「签名文件」并定位到这个包;
- 选择签名所用的密钥库——没有自己的密钥库时,可以先用内置的调试证书练手;
- 点签名,等它跑完;完成后再到「验证」页回查一次,确认签名生效。
有两个细节值得留意:一是这类工具支持 V2 签名方案,对较新的安卓系统兼容良好;二是如果想长期使用某个「作者身份」,建议尽早建一个自己的密钥库并妥善备份,之后始终用它来签,别每次换证书——同一个应用前后签名不一致,覆盖升级就会出问题。
工具本身的界面布局与各标签页的分工,在这里有一份整理好的介绍,配合截图看一遍比文字描述更直观。
签好名之后如果安装时仍然报「应用未安装」,多半不是签名这一步出了岔子,而是新旧签名冲突,处理思路见下一篇。