一蛤签、簽名文件的生成
1.打開(kāi)Android Studio宵睦,新建一個(gè)項(xiàng)目望忆,點(diǎn)擊“Build” --》選擇“Generate Signed APK”开呐,如圖:
2.點(diǎn)擊“next”, 如圖:
3.點(diǎn)擊“Create new...”, 如圖:
4.填寫(xiě)信息完畢,點(diǎn)擊“ok”, 如圖:
5.點(diǎn)擊“next”, 如圖:
- Build type --> debug版本
- BuildType --> release版本
- Signature Versions --> V1(jar Signature) :是通過(guò)ZIP條目進(jìn)行驗(yàn)證搜骡,這樣APK 簽署后可進(jìn)行許多修改 - 可以移動(dòng)甚至重新壓縮文件拂盯。
- Signature Versions --> V2(Full Apk Signature):Android 7.0 引入一項(xiàng)新的應(yīng)用簽名方案 APK Signature Scheme 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)用安裝速度两嘴。
Signature Versions配置方法一
勾選v1: 簽名并不會(huì)影響什么,但是在7.0上不會(huì)使用更安全的驗(yàn)證方式族壳,相當(dāng)于官網(wǎng)解決方案憔辫。
勾選V2: 7.0以下系統(tǒng)直接提示安裝失敗或者安裝包異常,7.0以上系統(tǒng)則會(huì)使用V2方式驗(yàn)證仿荆,安裝速度更快
勾選V1和V2: 比較兼容的處理方式
Signature Versions配置方法二
在app的build.gradle的android
signingConfigs {
debug {
v1SigningEnabled true
v2SigningEnabled true
}
release {
v1SigningEnabled true
v2SigningEnabled true
}
}
但是:現(xiàn)在發(fā)布的應(yīng)用一般都會(huì)先進(jìn)行加固或者打渠道包贰您,再簽名才行。這就不符合V2簽名的描敘了拢操。V2在簽名后無(wú)法再更改(包括zipalign)锦亦,這樣就會(huì)產(chǎn)生錯(cuò)誤。
解決辦法:
1.僅勾選V1令境,采用傳統(tǒng)簽名方案杠园,最直接
2.美團(tuán)Walle針對(duì)V2的簽名方案的方案:https://github.com/Meituan-Dianping/walle