Andriod Studio兩種簽名機(jī)制V1和V2的區(qū)別

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

博客園https://www.cnblogs.com/Zachary46

掘金https://juejin.im/user/5b57e9a16fb9a04f8e1432ef

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容