cordova打包项目后,使用cordova-plugin-file cordova-plugin-file-transfer cordova-plugin-file-opener2插件结合进行版本管理,在Android8.0及以上版本更新下载后,不能安装APP
原因
由官方文档给出的说明,我们可以看出: cordova-plugin-file-opener2插件在使用的过程中存在两种限制条件
android apk 文件安装限制条件
APK 权限限制:在Android 8+ 的设备上,您的应用程序必须具有“安装”操作包权限。
在Android7之前,您只能从外部分区安装APK。例如,您可以从cordova.file.externalDataDirectory安装程序,但是不能从cordova.file.dataDirectory安装程序。 Android 7+没有这个限制。
android 上的sdk卡限制
在Android上使用这个插件并不能保证打开sdk卡(外部存储卡)上的文件。这是因为底层Android库不支持从辅助外部存储设备读取文件。您的SDk卡是否被视为辅助外部设备取决于您所持有的手机本身设置。
解决方案
cordova-plugin-file 操作文件时将APK文件下载(保存)到 cordova.file.externalDataDirectory对应的目录下
尽量不要调用sdk文件路径
给程序授予安装操作包权限(修改config.xml)
复制代码
cordova 相关文档