Android Studio 2.2以上版本打包apk的時(shí)候,我們會(huì)發(fā)現(xiàn)多了個(gè)簽名版本(v1、v2)選擇,如下圖紅色方框所示

問(wèn)題描述(v1和v2)
Android 7.0中引入了APK Signature Scheme v2,v1是jar Signature來(lái)自JDK。
V1:應(yīng)該是通過(guò)ZIP條目進(jìn)行驗(yàn)證,這樣APK 簽署后可進(jìn)行許多修改 - 可以移動(dòng)甚至重新壓縮文件。
V2:驗(yàn)證壓縮文件的所有字節(jié),而不是單個(gè) ZIP 條目,因此,在簽名后無(wú)法再更改(包括 zipalign)。正因如此,現(xiàn)在在編譯過(guò)程中,我們將壓縮、調(diào)整和簽署合并成一步完成。好處顯而易見(jiàn),更安全而且新的簽名可縮短在設(shè)備上進(jìn)行驗(yàn)證的時(shí)間(不需要費(fèi)時(shí)地解壓縮然后驗(yàn)證),從而加快應(yīng)用安裝速度。
解決方案一
v1和v2的簽名使用
1)只勾選v1簽名并不會(huì)影響什么,但是在7.0上不會(huì)使用更安全的驗(yàn)證方式
2)只勾選V2簽名7.0以下會(huì)直接安裝完顯示未安裝,7.0以上則使用了V2的方式驗(yàn)證
3)同時(shí)勾選V1和V2則所有機(jī)型都沒(méi)問(wèn)題
解決方案二
在app的build.gradle的android標(biāo)簽下加入如下紅色方框所示代碼

官方說(shuō)明

個(gè)人建議
這是一個(gè)從Android7.0系統(tǒng)出現(xiàn)的新的簽名機(jī)制,這個(gè)新機(jī)制使得apk的簽名方式更加安全,首先我們應(yīng)該嘗試把V1和V2兩個(gè)選項(xiàng)全部勾選,并盡可能的去使用他們,但是如果全部勾選完畢出現(xiàn)了問(wèn)題,那么我們可以忽略這種新的簽名機(jī)制,只勾選第一個(gè)選項(xiàng)(V1),依舊使用我們之前老的簽名機(jī)制。
可通過(guò)以下途徑關(guān)注本人:
個(gè)人網(wǎng)站https://zachary46.top
Githubhttps://github.com/Zachary46
CSDN博客https://blog.csdn.net/Zachary_46