Failed to collect certificates from /data/app/vmdl201020547.tmp/base.apk: META-INF/CERT.SF indicates /data/app/vmdl201020547.tmp/base.apk is signed using APK Signature Scheme v2, but no such signature


錯誤信息:

 

 

12-26 11:08:44.809 1501-1535/system_process E/PackageInstaller: Commit of session 201020547 failed: Failed to collect certificates from /data/app/vmdl201020547.tmp/base.apk: META-INF/CERT.SF indicates /data/app/vmdl201020547.tmp/base.apk is signed using APK Signature Scheme v2, but no such signature was found. Signature stripped?

[ 12-26 11:08:44.813 1246: 1246 E/ ]
Couldn't opendir /data/app/vmdl201020547.tmp: No such file or directory

 
        

 

錯誤原因:

使用了網上常見的往META-INF放置空文件,標識渠道的做法,之前常見做法是先簽名apk,然后放置標識渠道的文件,然后安裝,這樣做法在Android7.0以下是沒有問題的,但是在Android7.0以上,就會出現問題,7.0+對簽名做了改動,默認v2簽名,就會出現安裝失敗,比如華為mate9,是Android7.0就會安裝失敗。

 

解決方案:

 

先打簽名安裝包,放置標識渠道的文件,然后再重新簽名,這樣就會安裝成功了。之前的打多渠道安裝包還是可以正常使用的。

 

順便寫了一個軟件,打包更方便了。

參見:https://github.com/hpu-spring87/MultiSignTools


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM