Mr_老冷 发表于 2022-10-24 16:41:46

【EasyClick】【安卓】热更新的常见问题与解决方法

B站讲解
热更失败解决https://www.bilibili.com/video/BV1Pt4y1B75R?share_source=copy_web
oss热更方法https://www.bilibili.com/video/B ... are_source=copy_web
MD5校验添加方法https://www.bilibili.com/video/B ... are_source=copy_web

1.热更更新的是编译的iec文件,不是apk
2.返回值是个json(有sb直接写几行字符串???),url返回的不是完整路径
3.版本号未修改,调试时要把本地version改成比服务器低
4.json写错了,json多写了逗号,object可以多写个逗号,json不行,尤其末尾一个元素,经常会习惯性的多加个逗号,导致json解析失败

5.跨大版本号更新,会出现白屏更新失败,需要重新打包最新的ec安装包,卸载并安装新版apk,不能覆盖安装
5.1 比如5.x升级6.x,6.x升级7.x,以此类推
5.2 7.12版本修改了加密模式,故7.0-7.11升级7.12之后的版本也要重新打包apk


6.iec下载地址不对,自己浏览器验证iec是否可下载
7.update.json中填的是txt文件或者服务器请求地址,不是iec下载地址!!!
8.服务器返回内容是纯json,不是html,不要加<head>!!!
9.如果更新白屏且热更无效,尝试清理脚本数据,或卸载重装
10.oss热更新这种不判断版本号的热更方法,如果先传txt,然后客户端执行了更新,会导致更新失败,一直提示更新,<<应先传iec,再修改txt内容>>,如已失败,同时升级修改txt和iec版本号,并重新按照步骤操作
11.服务器判断热更的方法,如版本一致无需更新,返回个空字符串就可以了(如果返回空下载链接,会提示无更新地址)
12.新版本热更新新增了md5参数,用于校验更新是否成功,http://ieasyclick.com/docs/#/zh-cn/hot-update
//服务端返回格式如下[提醒沙雕,这段注释不要复制进去]:

{
"download_url": "http://baidu.com/aaa.iec",
"version": "1.1.0",
"dialog":true,
"msg": "优化部分问题",
"force": false,
"md5":"服务器自行校验的iec文件的md5值"
}

13.添加md5后提示下载文件失败,md5校验失败的
13.1.确定编译时候提示的md5与服务器返回的md5是否相同
13.2.手动复制iec下载地址,看是否可以下载,如果出现404,参考https://blog.csdn.net/mr_oldcold ... 1001.2014.3001.5501

14.运行中热更,如果会出现更新失败,可以加个try,失败以后重新运行之前的脚本

15.自己做服务器的话,content-type要用text/plain,不能用application/json

相关参考:
http://doc.laoleng.vip/web/#/9?page_id=618







zjf903774020 发表于 2023-1-19 01:30:29

trttttttttttttt

hahaxs 发表于 2023-2-21 17:57:01

看看!!!!!!!!

crz027 发表于 2023-3-14 22:51:49

感谢分享

shaowenheng 发表于 2023-3-30 14:15:10

666666666666666666

comesay 发表于 2023-4-1 21:07:58

热更新问题

fafafa 发表于 2023-4-17 01:51:37

牛逼。。。。。。。。。。。。。。。。。

jiucai123 发表于 2023-4-20 10:32:34

6666666666666

kspz 发表于 2023-4-21 10:51:15

热更新的常见问题与解决方法

mogoyu 发表于 2023-4-25 14:05:20

看看是否我有遗漏的地方
页: [1] 2
查看完整版本: 【EasyClick】【安卓】热更新的常见问题与解决方法