Failed to collect certificates from /data/app/vmdl201020547.tmp/base.apk: META-INF/CERT.SF indicates

Posted 狂奔的小狮子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Failed to collect certificates from /data/app/vmdl201020547.tmp/base.apk: META-INF/CERT.SF indicates相关的知识,希望对你有一定的参考价值。

错误信息:

 

 

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

以上是关于Failed to collect certificates from /data/app/vmdl201020547.tmp/base.apk: META-INF/CERT.SF indicates的主要内容,如果未能解决你的问题,请参考以下文章

org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role

ssh框架错误:org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role。

Failed to collect certificates from /data/app/vmdl201020547.tmp/base.apk: META-INF/CERT.SF indicates

iOS9 白名单问题 -canOpenURL: failed for URL: "xx" - error:"This app is not allowed to que

SSL: CERTIFICATE_VERIFY_FAILED - mac python3.6

安装Intel HAXM:"failed to configure driver unknown error. failed to open driver"