一、问题现象
在测试APK升级逻辑时,偶然发现在8.0系统的手机中,APK下载完就没有然后了,没有弹出安装界面,不执行安装逻辑。但是在8.0之前的版本中可以正常下载,正常弹起安装界面。
二、问题分析
查阅相关资料发现,Android8.0中对于APK的安装做了如下调整:
- 将 设置--安全 中的 允许安装未知来源应用 取消了(由于国内手机系统的高度定制,该选择项的位置有差异)
- 在安装 APK 文件时新增 未知来源安装权限,即
android.permission.REQUEST_INSTALL_PACKAGES
是针对所有APP的,只要开启了,那么所有的未知来源APP都可以安装。但是,8.0之后,将这个权限挪到了每一个APP内部,这样提高了手机的安全性,降低了流氓软件的安装概率。
三、解决方案
(1)、步骤1 按照上面参考资料中的说明,现在 AndroidMainfest.xml 清单文件中增加如下权限
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />