天天看點

【AGC】應用安裝報錯沒有證書怎麼辦

【問題描述】

最近我公司開發的應用收到使用者回報,在手機上安裝報錯:“安裝失敗,錯誤提示:com.android.ddmlib.InstallException: INSTALL_PARSE_FAILED_NO_CERTIFICATES: Scanning Failed.: No signature found in package of version 2 or newer for package com.huawei.crashsxxss”

【AGC】應用安裝報錯沒有證書怎麼辦

分析複現:找了一個手機安裝正常,沒有問題。同時檢視了應用包的簽名算法是正常的,證書也在有效期内:

【AGC】應用安裝報錯沒有證書怎麼辦

問題偶現,難以複現,最終通過收集使用者裝置資訊,發現保障使用者集中在Android11手機,查找相關文檔發現是因為Android11系統在V1簽名的應用存在相容問題,如果應用隻使用V1簽名,并且編譯時設定的targetSdkVersion=30,是會出現這個問題的。

使用“apksigner verify -v --print-certs XXX.apk”檢視我們的應用确實隻有V1簽名:

【AGC】應用安裝報錯沒有證書怎麼辦

【解決方案】

修改使用V2或者V3簽名應用,或者臨時修改targetSdkVersion

繼續閱讀