当前位置: 首页 > news >正文

uniapp离线打包热更新失败-AndroidStudio离线打包apk后无法下载打开-热更新失败-plus.runtime.install失败

效果图

仅安卓

前言

1.plus.runtime.install一直fail(20240808), uni.openDocument可以打开本地apk文件
2.权限问题需小心

跑通前提

1.先确定apk地址有效,浏览器中手动下载可安装
2.确保已添加离线打包AndroidStudio的“android.permission.INSTALL_PACKAGES”权限
   参考https://uniapp.dcloud.net.cn/tutorial/app-permission-android.html
3.

核心代码

const downloadTask = uni.downloadFile({url: 'https://xxxx/demo.apk',success: (res) => {if (res.statusCode === 200) {runApk(res.tempFilePath)}}
})downloadTask.onProgressUpdate((res) => {// 总大小 - 字节// res.totalBytesExpectedToWrite// 已下载 - 字节// res.totalBytesWritten// 进度 - 百分比 0-100// res.progress
})const runApk = (local_path = '') => {uni.openDocument({filePath: local_path,showMenu: true,success: (res) =>{// 打开成功},fail: (e) =>{// 打开失败},})
}

题外话

1.plus.io.convertLocalFileSystemURL( uni.downloadFile结果.tempFilePath )获取绝对路径,

在uni.openDocument中无效 - 不执行也不报错

2.plus.io.LocalURL(*) 什么参数都不执行,也不报错

3.uniapp打包后图片偶尔缺失 - 因为电脑可用内存不够,项目编译不够内存空间,造成偶尔的static资源没法完整打包进去

plus.runtime.install 安装失败,并且失败回调的参数 error一直为null
https://ask.dcloud.net.cn/question/57909
https://www.html5plus.org/doc/zh_cn/runtime.html#plus.runtime.install
https://blog.csdn.net/lzz123987csdn/article/details/136730680
加了离线打包的权限也不行 <uses-permission android:name="android.permission.INSTALL_PACKAGES" />
https://uniapp.dcloud.net.cn/tutorial/app-permission-android.html    

// 获取应用信息 - uniapp获取manifest文件内容
// https://www.html5plus.org/doc/zh_cn/runtime.html#plus.runtime.getProperty
const getAppInfo = async () => {// APP更新检查 > 获取应用信息return new Promise((resolve, reject) => {plus.runtime.getProperty( plus.runtime.appid, ( wgtinfo ) => {resolve(wgtinfo)})})
}
/*** APP-PLUS下载地址* * 处理:uni.downloadFile 》 success 》 res.tempFilePath* 获得:_doc/uniapp_temp_172308307703610/download/expert-v1.0.2.apk* * 处理:plus.io.convertLocalFileSystemURL(res.tempFilePath)* 获得:/storage/emulated/0/Android/data/com.amd.expert/apps/__UNI__78B9194/doc/uniapp_temp_172308307703610/download/expert-v1.0.2.apk* 参考:https://www.html5plus.org/doc/zh_cn/io.html#plus.io.convertLocalFileSystemURL* * 处理:plus.io.LocalURL( convertLocalFileSystemURL结果 )* 获得:file:///storage/emulated/0/Android/data/com.amd.expert/apps/__UNI__78B9194/doc/uniapp_temp_172308307703610/download/expert-v1.0.2.apk* 参考:https://www.html5plus.org/doc/zh_cn/io.html#plus.io.LocalURL*/

推荐

baidu.rudon.cn 没有广告的百度首页

http://www.lryc.cn/news/418216.html

相关文章:

  • 深植根基、蓬勃向上 | openKylin 2.0正式发布!
  • 【Material-UI】按钮组:尺寸与颜色详解
  • app抓包 burp配置
  • 图像与像素:利用ImageJ分析荧光显微镜图像|QuPath基础教程1|24-08-08
  • Prompt Fuzzer:用于增强 GenAI 应用程序的开源工具
  • Vision Pro使用GLFT 加载模型shader错误解决办法
  • Netty技术全解析:MessageToMessageCodec类深度解析
  • Three 【3D车模换肤】
  • 语言模型简介和Ngram模型(1)
  • MessageBox弹框替代系统自带的alert、confirm -- 高仿ElementUI MessageBox
  • 数据结构一排序算法
  • [Leetcode 215][Medium]-数组中的第K个最大元素-快排/小根堆/堆排序
  • 【栈和队列】常见面试题
  • 关于float浮点值二进制存储和运算精度损失的话题
  • python爬虫学习记录-请求模块urllib3
  • 谷粒商城实战笔记-133~135-城业务-商品上架-远程上架接口
  • 【React】详解 App.js 文件
  • 【ML】self-supervised Learning for speech and Image
  • 青岛实训day24(8/8)
  • *算法训练(leetcode)第四十五天 | 101. 孤岛的总面积、102. 沉没孤岛、103. 水流问题、104. 建造最大岛屿
  • 设计模式 由浅入深(待完结)
  • (第34天)645、最大二叉树
  • Python知识点:如何使用Paramiko进行SSH连接与操作
  • 代码随想录算法训练营第六天(一)|242.有效的字母异位词
  • 数据结构 | 考研代码题之顺序表 | 1 查找L中值为e的数据元素若找到则返回其下标,若找不到则返回-1
  • RLVF:避免过度泛化地从口头反馈中学习
  • 设计原则与思想-从项目实战中学习设计模式
  • python中的类属性、实例属性、类方法、实例方法和静态方法
  • A股继续底部震荡,探底是否能成功?
  • NPDP考前怎么复习?NPDP200问PDF版来啦~