【Android】App安装提示“该安装包未包含任何证书”问题处理

根据客户反馈,安装App时会出现安装失败的问题,如下图:
在这里插入图片描述
安装失败就算了,还被怀疑我亲自动手打包的App不是正版,这不能忍,这个问题我一定要处理掉。

可后来发现我错了,这让人不能忍的问题居然无法复现!!!

这怎么搞?同样是华为手机,为什么客户的手机如此优秀?

实在没办法了,不得已的去百度搜搜,虚心向广大网友讨要处理问题的方法

根据网友提供的信息,问题是出在了安装包打包的时候没有勾选上 V1(Jar Signature)与 V2(Full APK Signature)这两个选项或者少勾选了其中一个
在这里插入图片描述
或者可以将其配置写入build.gradle里

android{
	signingConfigs {
        release {
            v1SigningEnabled true  //打包时默认勾选 V1(Jar Signature)
            v2SigningEnabled true  //打包时默认勾选 V2(Full APK Signature)
        }
    }
}

勾选之后再次打包即可了

问题解决了,那么,V1(Jar Signature)与V2(Full APK Signature)到底是什么呢?勾选与不勾选又有何差别?

V1(Jar Signature):
验证未解压的文件内容,APK 签署后可进行许多修改 ,可以移动甚至重新压缩文件。

V2(Full APK Signature):
验证压缩文件的所有字节,而不是单个 ZIP 条目,在签名后无法再更改(包括 zipalign),压缩、调整和签署合并成一步完成。V2(Full APK Signature)更安全而且新的签名可缩短在设备上进行验证的时间(不需要费时地解压缩然后验证),从而加快应用安装速度。如有任何自定义任务篡改 APK 文件或对其进行后处理(无论以任何方式)

需要注意:
V2(Full APK Signature)是Android 7.0后才有的,为了更好的兼容,打包时还是把两个对选上较好,这样还能一定程度上避免一定的问题。

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
这个工具前后用了好多天的时间查阅资料并不断修改才完成。本工具可以用于读取apk包的大量信息,无其他依赖。可以直接通过命令行运行,也可以当作架包使用。 命令行方式使用举例: 获取AndroidManifest.xml文件中定义的versionCode: java -jar ApkAnalysis.jar “apk路径” -versionCode 获取apk证书详情: java -jar ApkAnalysis.jar “apk路径” -certs 获取apk证书中的第一条的详情: java -jar ApkAnalysis.jar “apk路径” -certs 0 获取证书摘要(百度、高德地图等API中需要的那个SHA1): java -jar ApkAnalysis.jar “apk路径” -certs 0 SHA1 获取apk发布者信息: java -jar ApkAnalysis.jar “apk路径” -certs 0 issuer 获取apk声明的权限: java -jar ApkAnalysis.jar “apk路径” -permissions 当作为架包使用时,通过 ApkAnalysis apkAnalysis = ApkAnalysis.getApkReader(apkFilePath); 获取到ApkAnalysis的实例,然后就调用对应方法读取即可。相信都会使用自动补全等功能吧?那个会告诉你有哪些可用的方法,这里不例举了。 输入 java -jar ApkAnalysis.jar -help会给出如下提示,请慢慢研究。如果好用,请不吝评价一下,谢谢~至于源码么,会反编译的就反编译吧,我也拦不住的,纯Java写的,还是很好反编译的,也没有代码混淆过。感兴趣愿意一起交流的可以留言问我要,纯粹伸手党就算了。 Apk分析工具 v1.0.7 编译时JDK版本:1.6.0_33 当前JRE版本:1.6.0_33 作者:周骞 发布日期:2015-01-08 --------------------------------------------------- ApkAnalysis [-versionCode] [-versionName] [-packageName]... 可用的选项: -versionCode 版本号 -versionName 版本名称,如1.0.3 -packageName Apk包名 -certs [index] [MD5|SHA1|issuer|subject|validity] 获取证书的信息 -verify 校验apk内文件的签名,并列出通过校验的文件 -permissions 获取apk所需的权限 -features 获取apk所需的特性 -activities [detail] 获取apk所含的Activity -services [detail] 获取apk所含的Service -receivers [detail] 获取apk所含的静态Receiver -content [name] 获取AndroidManifest.xml中的内容 -extract 抽取apk中的文件 -h[elp] 显示此帮助信息 --------------------------------------------------- 如在程序中引用本包,方法如下: ApkAnalysis apkAnalysis = ApkAnalysis.getApkReader(apkFilePath); 需要判断apkAnalysis是否为null,为null表示读取失败,不为null时即可调用getXX()获取数据

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宾有为

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值