前言
以前AS打包都是填完key信息就ok了怠缸,AS后面更新之后睁蕾,打包的簽名版本多了V1,V2選擇秕狰,該如何選擇呢帘皿?
V1V2.png
v1與v2的區(qū)別
Android 7.0中引入了APK Signature Scheme v2东跪,v1呢是jar Signature來自JDK
V1:應(yīng)該是通過ZIP條目進(jìn)行驗(yàn)證,這樣APK 簽署后可進(jìn)行許多修改 - 可以移動(dòng)甚至重新壓縮文件鹰溜。
V2:驗(yàn)證壓縮文件的所有字節(jié)虽填,而不是單個(gè) ZIP 條目,因此曹动,在簽名后無法再更改(包括 zipalign)斋日。正因如此,現(xiàn)在在編譯過程中墓陈,我們將壓縮恶守、調(diào)整和簽署合并成一步完成竭恬。好處顯而易見,更安全而且新的簽名可縮短在設(shè)備上進(jìn)行驗(yàn)證的時(shí)間(不需要費(fèi)時(shí)地解壓縮然后驗(yàn)證)熬的,從而加快應(yīng)用安裝速度痊硕。
解決方案一
v1和v2的簽名使用
只勾選v1簽名并不會(huì)影響什么,但是在7.0上不會(huì)使用更安全的驗(yàn)證方式
只勾選V2簽名7.0以下會(huì)直接安裝完顯示未安裝押框,7.0以上則使用了V2的方式驗(yàn)證
同時(shí)勾選V1和V2則所有機(jī)型都沒問題
解決方案二
在app的build.gradle的android標(biāo)簽下加入如下
signingConfigs {
debug {
v1SigningEnabled true
v2SigningEnabled true
}
release {
v1SigningEnabled true
v2SigningEnabled true
}
}
最后
Thanks