錯誤信息:git
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 directorygithub
錯誤緣由:spring
使用了網上常見的往META-INF放置空文件,標識渠道的作法,以前常見作法是先簽名apk,而後放置標識渠道的文件,而後安裝,這樣作法在Android7.0如下是沒有問題的,可是在Android7.0以上,就會出現問題,7.0+對簽名作了改動,默認v2簽名,就會出現安裝失敗,好比華爲mate9,是Android7.0就會安裝失敗。session
解決方案:app
先打簽名安裝包,放置標識渠道的文件,而後再從新簽名,這樣就會安裝成功了。以前的打多渠道安裝包仍是能夠正常使用的。ip
順便寫了一個軟件,打包更方便了。get