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

https://stackoverflow.com/questions/39147608/android-install-apk-with-intent-view-ac 河南党性培训 www.bjganxun.cn tion-not-working-with-file-provider

简单总结:

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

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

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

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

另,

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

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

this.getPackageManager().canRequestPackageInstalls()

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

Intent unknownAppSourceIntent = new Intent().setAction(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES).setData(Uri.parse(String.format("package:%s",MainOneActivity.this.getPackageName())));startActivityForResult(unknownAppSourceIntent, UNKNOWN_APP_INSTALL);

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

Android APP升级时解析程序包时出现问题相关推荐

  1. 已解决(转)关于android - apk(解析错误)解析程序包时出现问题

    如果开发的应用用户较多,那么必须保证应用在多个版本不同的设备上能够正确的运行.这就要求对各个版本比较熟悉,知道在什么版本中加入了什么新的功能或特性.但是Android的版本太多了,是个令人头疼的问题. ...

  2. Android之获取应用程序(包)的大小-----PackageManager的使用(二)

    http://blog.csdn.net/qinjuning/article/details/6892054 通过第一部分 << Android中获取应用程序(包)的信息-----Pack ...

  3. burpsuite小米手机抓包_使用burpsuite实现Android APP的HTTPS抓包

    0x00 序 在对app做安全测试时,通常会需要对app的网络通信进行抓包,但是面对app使用了https包时,由于手机没有burp的证书,因此可能会导致该次通信失败,所以下面的文章主要讲述如何通过b ...

  4. android中获取应用程序(包)的信息,Android中获取应用程序(包)的信息PackageManager的使用(一).doc...

    Android中获取应用程序(包)的信息PackageManager的使用(一) 本节内容是如何获取Android系统中应用程序的信息,主要包括packagename.label.icon.占用大小等 ...

  5. R包安装时安装程序包****时退出的状态不是0,或者版本不适的一种解决方法。

    Bioconductor中包几乎都是安装下面代码安装.比如:miRBaseVersions.db包 if (!requireNamespace("BiocManager", qui ...

  6. R语言——安装程序包时找不到对象怎么办?

    R语言--安装程序包时找不到对象怎么办? 安装程序包lmtest,但是出现错误,找不到对象lmtest 给lmtest加上双引号,安装成功!注意是英文的双引号哦!

  7. Android之中获取应用程序(包)的信息-----PackageManager的使用(一)

    转载:http://blog.csdn.net/qinjuning/article/details/6867806 本节内容是如何获取Android系统中应用程序的信息,主要包括packagename ...

  8. Android中获取应用程序(包)的信息-----PackageManager的使用(一)

    本节内容是如何获取Android系统中应用程序的信息,主要包括packagename.label.icon.占用大小等.具体分为两个 部分,计划如下: 第一部分: 获取应用程序的packagename ...

  9. android.app.instrumentation解析

    已经在Android SDK中学习了很多关于JUnit的内容,但是感觉一直有几个问题没有解决(不知道大家是否有同样的感受)JUnit的测试都自动化的,完全是不需要任何操作的,有2个问题我一直都还没有找 ...

  10. android app功能 配置,配置安装时分发  |  Android 开发者  |  Android Developers

    借助功能模块,您可以从应用的基本模块中分离某些功能和资源,并将其包含在 app bundle 中.然后,您可以自定义分发选项,以便控制搭载 Android 5.0(API 级别 21)或更高版本的设备 ...

最新文章

  1. JavaScript 小记 之 闭包(Closures)
  2. 打造炫酷通用的ViewPager指示器 Adapter模式适配所有 1
  3. 安装ie9提示未能完成安装_IE9浏览器无法安装怎么办?如何解决?
  4. oracle脚本安装,Linux脚本自动安装Oracle
  5. 保存到数据库乱码mysql_Linux下MySQL保存进去数据为乱码的解决办法
  6. 鸿蒙应用学习笔记01:搭建鸿蒙应用开发环境
  7. 如何在 GitHub 上面精准搜索开源项目?
  8. 自己动手实现神经网络分词模型
  9. 三个参数 matlab程序,用matlab求定积分的三个实例代码
  10. 读《洞穴奇案》——一个人是否应该为了避免偷窃面包而挨饿致死?
  11. Uniapp video标签autoplay不生效问题(进入页面瞬间)
  12. vivo是安卓手机吗_vivo新机Y73s评测:谁说买手机一定要买旗舰机?_安卓手机
  13. Unity技能系统框架(三)分析一个具体被动技能
  14. DHCP与DHCP中继
  15. 使用Pyqt5制作IT7321仪器测试软件
  16. Java Script 02
  17. calender 源码 CSS+JS
  18. 求生之路无限子弹服务器,求生之路2怎么调无限子弹(在单机中)
  19. 文献阅读笔记LUCC
  20. 使用纯JAVA数据库驱动程序连接MySql数据库

热门文章

  1. Unable to add window android.view.ViewRootImpl$W@c1bf05d -- permission denied for window type 2003
  2. mac 麦克风权限添加应用
  3. 共享经济思考:标准化与个性化如何融合
  4. istio系列:第六章-Telemetry遥测配置
  5. 学校心理管理/预测系统
  6. android spannablestring设置字体颜色,Android SpannableString设置超链接、颜色、字体等属性...
  7. Elasticsearch嵌套式对象Nested分析
  8. Python————办公自动化
  9. 折腾了5个多小时的OC启动与win10冲突
  10. 数据库数据模型(关系型模型与非关系模型的区别)