Android APP升级时解析程序包时出现问题
一个新的测试机在自动下载升级安装更新版本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升级时解析程序包时出现问题相关推荐
- 已解决(转)关于android - apk(解析错误)解析程序包时出现问题
如果开发的应用用户较多,那么必须保证应用在多个版本不同的设备上能够正确的运行.这就要求对各个版本比较熟悉,知道在什么版本中加入了什么新的功能或特性.但是Android的版本太多了,是个令人头疼的问题. ...
- Android之获取应用程序(包)的大小-----PackageManager的使用(二)
http://blog.csdn.net/qinjuning/article/details/6892054 通过第一部分 << Android中获取应用程序(包)的信息-----Pack ...
- burpsuite小米手机抓包_使用burpsuite实现Android APP的HTTPS抓包
0x00 序 在对app做安全测试时,通常会需要对app的网络通信进行抓包,但是面对app使用了https包时,由于手机没有burp的证书,因此可能会导致该次通信失败,所以下面的文章主要讲述如何通过b ...
- android中获取应用程序(包)的信息,Android中获取应用程序(包)的信息PackageManager的使用(一).doc...
Android中获取应用程序(包)的信息PackageManager的使用(一) 本节内容是如何获取Android系统中应用程序的信息,主要包括packagename.label.icon.占用大小等 ...
- R包安装时安装程序包****时退出的状态不是0,或者版本不适的一种解决方法。
Bioconductor中包几乎都是安装下面代码安装.比如:miRBaseVersions.db包 if (!requireNamespace("BiocManager", qui ...
- R语言——安装程序包时找不到对象怎么办?
R语言--安装程序包时找不到对象怎么办? 安装程序包lmtest,但是出现错误,找不到对象lmtest 给lmtest加上双引号,安装成功!注意是英文的双引号哦!
- Android之中获取应用程序(包)的信息-----PackageManager的使用(一)
转载:http://blog.csdn.net/qinjuning/article/details/6867806 本节内容是如何获取Android系统中应用程序的信息,主要包括packagename ...
- Android中获取应用程序(包)的信息-----PackageManager的使用(一)
本节内容是如何获取Android系统中应用程序的信息,主要包括packagename.label.icon.占用大小等.具体分为两个 部分,计划如下: 第一部分: 获取应用程序的packagename ...
- android.app.instrumentation解析
已经在Android SDK中学习了很多关于JUnit的内容,但是感觉一直有几个问题没有解决(不知道大家是否有同样的感受)JUnit的测试都自动化的,完全是不需要任何操作的,有2个问题我一直都还没有找 ...
- android app功能 配置,配置安装时分发 | Android 开发者 | Android Developers
借助功能模块,您可以从应用的基本模块中分离某些功能和资源,并将其包含在 app bundle 中.然后,您可以自定义分发选项,以便控制搭载 Android 5.0(API 级别 21)或更高版本的设备 ...
最新文章
- JavaScript 小记 之 闭包(Closures)
- 打造炫酷通用的ViewPager指示器 Adapter模式适配所有 1
- 安装ie9提示未能完成安装_IE9浏览器无法安装怎么办?如何解决?
- oracle脚本安装,Linux脚本自动安装Oracle
- 保存到数据库乱码mysql_Linux下MySQL保存进去数据为乱码的解决办法
- 鸿蒙应用学习笔记01:搭建鸿蒙应用开发环境
- 如何在 GitHub 上面精准搜索开源项目?
- 自己动手实现神经网络分词模型
- 三个参数 matlab程序,用matlab求定积分的三个实例代码
- 读《洞穴奇案》——一个人是否应该为了避免偷窃面包而挨饿致死?
- Uniapp video标签autoplay不生效问题(进入页面瞬间)
- vivo是安卓手机吗_vivo新机Y73s评测:谁说买手机一定要买旗舰机?_安卓手机
- Unity技能系统框架(三)分析一个具体被动技能
- DHCP与DHCP中继
- 使用Pyqt5制作IT7321仪器测试软件
- Java Script 02
- calender 源码 CSS+JS
- 求生之路无限子弹服务器,求生之路2怎么调无限子弹(在单机中)
- 文献阅读笔记LUCC
- 使用纯JAVA数据库驱动程序连接MySql数据库
热门文章
- Unable to add window android.view.ViewRootImpl$W@c1bf05d -- permission denied for window type 2003
- mac 麦克风权限添加应用
- 共享经济思考:标准化与个性化如何融合
- istio系列:第六章-Telemetry遥测配置
- 学校心理管理/预测系统
- android spannablestring设置字体颜色,Android SpannableString设置超链接、颜色、字体等属性...
- Elasticsearch嵌套式对象Nested分析
- Python————办公自动化
- 折腾了5个多小时的OC启动与win10冲突
- 数据库数据模型(关系型模型与非关系模型的区别)