1. 程式人生 > >android v2簽名、渠道包安裝失敗

android v2簽名、渠道包安裝失敗

android 7.0開始增加了v2簽名,能夠加速app的安裝結束。

v2簽名機制:v2是android 7.0開始引入,使用SHA256雜湊值校驗,會對每個檔案的二進位制位元組進行校驗,對應用提供更安全的保護,不管簽名後對檔案做了任何修改,都會導致在android 7.0以上的機型安裝失敗(提示改安裝包未包含任何證書),v2簽名在編譯的過程中,將會壓縮,調整和簽署合併成一步完成,可以縮短apk在裝置上驗證的時間,加快安裝速度。

最近遇到打完的渠道包在手機上安裝失敗,提示改安裝包未包含任何證書的問題。

簽名方式一(apk正式安裝可以正常使用):

對apk只進行v1簽名,跑指令碼生成渠道包,之後不需要重新簽名,安裝成功。

簽名方式二(出現安裝失敗)

1、對apk進行v1和v2同時簽名,跑指令碼生成渠道包,安裝失敗。

2、對apk進行v1和v2同時簽名,跑指令碼生成渠道包,重新進行簽名,安裝成功。

渠道包沒有重新簽名安裝失敗的原因?

我們是通過在apk的META-INF資料夾下寫入一個空檔案來標識不同渠道包,因為v2的簽名機制一旦對檔案進行了修改,就會破壞簽名,使簽名失效,所以就會報安裝包未包含任何證書。

解決方案:重新簽名就好了