Android APP升级时解析程序包时出现问题

一个新的测试机在自动下载升级安装更新版本APP时,报出”解析程序包时出现问题”错误。原因众说纷纭, 一番搜索,下面的回答比较全面:

简单总结:

  1. 安卓7以下一般问题不大

  2. 安卓7及以上需要使用FileProvider

  3. 安卓7.1 需要在清单中增加 REQUEST_INSTALL_PACKAGES 权限

4.安卓8 需要授权允许应用安装未知应用,在应用权限中设置。(此次问题)

  1. 注意检查是否有外存储器的读写权限, 如果没有就无法正常下载程序。

  2. 应用权限是否被允许”安装未知应用”,可以如下这样判断, 坑:但targetSdkVersion需要至少为26,否则下面的方法永远返回false;

判断后可以帮助用户跳转到设置页面引导用户设置,也可以让用户自行通过系统设置的应用权限管理设置。

一些定制android系统高于安卓8不进行步骤四,也是可以安装的,而有些则不可以。 唉,安卓的碎片化~。。。

Original: https://www.cnblogs.com/uncleguo/p/15958383.html
Author: 锅叔
Title: Android APP升级时解析程序包时出现问题

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/606442/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Linux 配置 IPv4或 IPv6地址

    Linux 配置 IPv4或 IPv6地址 配置 配置介绍 查看网络 ifconfig 网卡介绍 eth0 :本地网卡(CentOS7 是ens33) lo :内网网卡,管理内网I…

    Linux 2023年6月6日
    084
  • 博客园装饰——(二)滚动到页面顶部或底部

    功能描述: 1. 当页面向下滚动一定距离时,向下滚动到底部的按钮以淡入的效果出现,并以固定定位显示。且滚动到一定距离(快接近所设置的底部)时,该按钮又会以淡出效果消失。 2. 当页…

    Linux 2023年6月14日
    080
  • 由乐观锁延伸出的知识

    锁是网络数据库中的一个非常重要的概念,当多个用户同时对数据库并发操作时,会带来数据不一致的问题,所以,锁主要用于多用户环境下保证数据库完整性和一致性以商场的试衣间为例,每个试衣间都…

    Linux 2023年6月7日
    065
  • 性能测试 CPU利用率低 响应时间长的瓶颈分析

    压测中Vuser增加,TPS上不去,意味着Response Time在增加,需要找出响应时间增加的原因: 1、网络带宽 在压力测试中,有时候要模拟大量的用户请求,如果单位时间内传递…

    Linux 2023年6月8日
    060
  • PYTORCH: 60分钟 | 神经网络

    神经网络可以使用 torch.nn包构建。 现在你已经对autograd有所了解, nn依赖 autograd 定义模型并对其求微分。 nn.Module 包括层,和一个返回 ou…

    Linux 2023年6月16日
    0154
  • SpringBoot + Vue + ElementUI 实现后台管理系统模板 — 后端篇(三): 整合阿里云 OSS 服务 — 上传、下载文件、图片

    (1) 相关博文地址: SpringBoot + Vue + ElementUI 实现后台管理系统模板 — 前端篇(一):搭建基本环境:https://www.cnblogs.c…

    Linux 2023年6月11日
    076
  • Golang 实现 Redis(5): 使用跳表实现 SortedSet

    本文是使用 golang 实现 redis 系列的第五篇, 将介绍如何使用跳表实现有序集合(SortedSet)的相关功能。 跳表(skiplist) 是 Redis 中 Sort…

    Linux 2023年5月28日
    085
  • Centos 7.x 线上安装 Kubernetes

    镜像下载、域名解析、时间同步请点击阿里云开源镜像站 安装依赖包 yum install -y conntrack ntpdate ntp ipvsadm ipset jq ipta…

    Linux 2023年5月27日
    0113
  • springBoot2.*使用redis集群/单机方法

    Lettuce 和 Jedis 的定位都是Redis的client,所以他们当然可以直接连接redis server。 Jedis在实现上是直接连接的redis server,如果…

    Linux 2023年5月28日
    0111
  • SpringBoot 多环境配置文件切换

    背景 很多时候,我们项目在开发环境和生成环境的环境配置是不一样的,例如,数据库配置,在开发的时候,我们一般用测试数据库,而在生产环境的时候,我们是用正式的数据,这时候,我们可以利用…

    Linux 2023年6月14日
    0130
  • brew安装与启动redis

    安装 检查是否安装成功 启动 检查是否启动成功 参考 安装 brew install redis 检查是否安装成功 启动 brew services start redis &am…

    Linux 2023年6月6日
    0106
  • 维修数列代码及简易题解

    总体方案:将左右端点分别转到根和根的右儿子,将目标序列挤到以根的右儿子的左儿子为根的子树中,然后进行一系列骚操作即可 建树:用类似线段树的方法建树,递归即可,注意加两个边界点 插入…

    Linux 2023年6月6日
    0110
  • [python] arch linux install mysql and use with python

    1. 概述 2. 安装 MySQL / MariaDB 3. 运行 MySQL / MariaDB 4. 配置 MySQL / MariaDB 5. 使用 MySQL / Mari…

    Linux 2023年6月8日
    085
  • 2018部分

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月7日
    074
  • centos7 设置开机启动任务

    环境:centos7 需求:前两天调通的DNS server(bind/named)设置开机自启动 操作: 修改 /etc/rc.local 注意这个 rc.local 文件默认是…

    Linux 2023年6月6日
    094
  • 如何在CentOS 6.3上安装nslookup

    nslookup是bind-utils软件包的一部分。请注意,host、dig和nslookup也是bind工具的一部分。如果没有安装bind-utils包,当你尝试nslooku…

    Linux 2023年6月7日
    0106
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球