昨天晚上apk打完包(第一次)鳄逾,自己放到服務(wù)器小測(cè)一把,安裝灵莲,運(yùn)行都沒問題雕凹,就開開心心給老板發(fā)過去了。老板也測(cè)了下笆呆,沒什么問題请琳,就發(fā)布了。
結(jié)果一大早赠幕,一通電話驚醒了我俄精,老板焦急的質(zhì)問:“為什么用戶在安裝我們apk的時(shí)候提示‘解析失敗 安裝包沒有簽名文件’?你昨晚打包的時(shí)候有沒有簽名伴叛摺竖慧?”,這突然的一問也讓我虎軀一震逆屡,難道沒簽名圾旨?不可能!果斷一個(gè)翻身魏蔗,開機(jī)砍的,查驗(yàn)。
我把昨天打的包(apk文件)后綴名改成zip莺治,解壓
簽名文件應(yīng)該在META-INF文件夾下廓鞠,后綴名是.RSA的文件。但是為什么沒有谣旁?床佳!難道打包過程有問題?
查看打包過程榄审,發(fā)現(xiàn)有一步讓勾選簽名版本砌们,就是這一步
我想當(dāng)然的只勾選了V2。問題就出現(xiàn)在這里搁进。
V2這種簽名方案是Android7.0引入的浪感,它能提供更快的應(yīng)用安裝時(shí)間和更多針對(duì)未授權(quán) APK 文件更改的保護(hù)。具體請(qǐng)看這里饼问。V1適用于所有android版本的機(jī)型影兽,但在Android7.0及以上會(huì)缺少針對(duì)未授權(quán) APK 文件更改的保護(hù);只勾選V2匆瓜,Android7.0以下的機(jī)型會(huì)報(bào)錯(cuò)赢笨,所以這里建議同時(shí)勾選V1未蝌,V2,以適用所有機(jī)型茧妒。
勾選上V1萧吠,再次打包,解壓apk查看
META-INF文件夾下已經(jīng)有了CERT.RSA桐筏。趕緊把包發(fā)給老板纸型,承認(rèn)錯(cuò)誤。
另外梅忌,你還可以使用命令行查看RSA文件的內(nèi)容:
keytool -printcert -file path/to/CERT.RSA
以上狰腌,記錄一下。