自己开发的App在华为荣耀系列手机上安装失败,“未包含任何证书”

    • 问题描述
    • 问题解决方法
    • 内容扩展

问题描述

自己使用Android Studio开发的App打包生成apk之后,在真机上安装时,显示安装错误,真机的型号是荣耀畅玩6,显示的错误信息时下图所示内容:

问题解决方法

一开始也是百度了很多解决方法,但是没有找到解决办法,之后自己想到会不会是打包生成apk文件的时候,选择Signature有关。所以进行了测试,发现真是和这个有关。
之前打包生成apk文件时,选择的Signature是如下图所示:

这样生成的apk在安装时会出现上面描述的问题,但是把上图中V1、V2都选中时,就不会出现安装失败的问题,下图所示:

这样就把问题解决了。。。所以写篇博客记录一下采坑历程。

内容扩展

百度了一下V1、V2的解释:
V1:应该是通过ZIP条目进行验证,这样APK 签署后可进行许多修改 - 可以移动甚至重新压缩文件。
V2:验证压缩文件的所有字节,而不是单个 ZIP 条目,因此,在签名后无法再更改(包括 zipalign)。正因如此,现在在编译过程中,我们将压缩、调整和签署合并成一步完成。好处显而易见,更安全而且新的签名可缩短在设备上进行验证的时间(不需要费时地解压缩然后验证),从而加快应用安装速度。

只勾选v1签名并不会影响什么,但是在7.0上不会使用更安全的验证方式
只勾选V2签名7.0以下会直接安装完显示未安装,7.0以上则使用了V2的方式验证
同时勾选V1和V2则所有机型都没问题

想看相关的详细解释请参考下面的文章:
Android Studio 打包时 Signature Version V1 V2
Android Studio 打包时 Signature Version 选择 V1 V2 说明

更多相关文章

  1. [置顶] Android下通过pocketsphinx实现离线语音识别的环境搭建和
  2. Android之手机出现"已安装了存在签名冲突的同名数据包"的原因及
  3. TensorFlow在Android平台上的安装和应用
  4. Android(安卓)Studio不识别新安装的字体
  5. 【移动开发】Android中将我们平时积累的工具类打包
  6. 【Android的从零单排开发日记】之入门篇(一)——开发环境的搭建
  7. android 验证码按钮点击,判断网络和匹配手机号并自动更新时间;
  8. Android如何将无源码APK预置安装进系统
  9. Android中解决破解签名验证之后导致的登录授权失效问题

随机推荐

  1. Android okhttp3 SSL握手底层实现追踪
  2. Android下蒙板效果的实现
  3. android 打开微信主界面
  4. android RelativeLayout 内容居中解决办
  5. 修改launcher的抽屉图标
  6. Android camera preview and take pictur
  7. android 获取当前版本号/修改自定义的应
  8. 捋一捋Android的转场动画
  9. Android SqLite中insert()方法解析
  10. Using Intent in an Android application