From f8ccfbba767e9d2db1afdc459ef9e92f3b7cdb0e Mon Sep 17 00:00:00 2001 From: liuguijing <1440265357@qq.com> Date: Wed, 7 May 2025 17:17:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E9=87=8F=E6=9B=B4=E6=96=B0=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E4=BC=98=E5=8C=96=EF=BC=8C=E5=A2=9E=E5=8A=A0=E5=AE=89?= =?UTF-8?q?=E8=A3=85=E6=88=90=E5=8A=9F=E4=B9=8B=E5=90=8E=EF=BC=8C=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E8=80=81=E7=9A=84apk=E5=8C=85=E5=92=8C=E5=A2=9E?= =?UTF-8?q?=E9=87=8F=E6=9B=B4=E6=96=B0=E5=8C=85=E3=80=82=E5=8F=AA=E4=BF=9D?= =?UTF-8?q?=E7=95=99=E6=9C=80=E6=96=B0=E7=9A=84=E5=AE=89=E8=A3=85=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/xypower/mpmaster/AppMaster.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/mpmaster/src/main/java/com/xypower/mpmaster/AppMaster.java b/mpmaster/src/main/java/com/xypower/mpmaster/AppMaster.java index f345258d..194a17ab 100644 --- a/mpmaster/src/main/java/com/xypower/mpmaster/AppMaster.java +++ b/mpmaster/src/main/java/com/xypower/mpmaster/AppMaster.java @@ -715,9 +715,10 @@ public class AppMaster { String otaurl = jsonObject.optString("otaurl", null); String oldurl = jsonObject.optString("oldurl", null); String appurl = jsonObject.optString("appurl", null); - String checkMd5 = jsonObject.optString("checkMd5", null); + String checkMd5 = jsonObject.optString("md5", null); + String key = jsonObject.optString("key", null); if (!TextUtils.isEmpty(otaurl)) { - upgradeAppOta(cid, cmd, otaurl, oldurl, appurl, checkMd5); + upgradeAppOta(cid, cmd, otaurl, oldurl, appurl, checkMd5, key); } } } @@ -1033,7 +1034,7 @@ public class AppMaster { } } - private void upgradeAppOta(long cid, String action, String otaurl, String oldurl, String newurl, String checkMd5) { + private void upgradeAppOta(long cid, String action, String otaurl, String oldurl, String newurl, String checkMd5, String key) { mService.logger.warning("Recv upgradeAppOta Cmd: url=" + otaurl); if (StringUtils.isEmpty(otaurl) || StringUtils.isEmpty(oldurl) || StringUtils.isEmpty(newurl)) { mService.logger.warning("upgradeAppOta otaurl,oldurl或者newurl缺失"); @@ -1046,7 +1047,7 @@ public class AppMaster { path.mkdirs(); } //Patch存储路径 - File patchFile = new File(path, otaurlMd5 + ".patch"); + File patchFile = new File(path, key + "_" + otaurlMd5 + ".patch"); if (patchFile.exists()) { patchFile.delete(); } @@ -1055,11 +1056,14 @@ public class AppMaster { //老的Apk路径 String oldurlMd5 = MD5Util.md5(oldurl);//获取URL的Md5 File oldApk = new File(path, oldurlMd5 + ".apk"); + if (!oldApk.exists()) { + oldApk = new File(path, key + "_" + oldurlMd5 + ".apk"); + } String oldApkPath = oldApk.getAbsolutePath(); //新的Apk路径 String newurlMd5 = MD5Util.md5(newurl);//获取URL的Md5 - File newApk = new File(path, newurlMd5 + ".apk"); + File newApk = new File(path, key + "_" + newurlMd5 + ".apk"); String newApkPath = newApk.getAbsolutePath(); FileDownloader dl = new FileDownloader(); @@ -1083,6 +1087,9 @@ public class AppMaster { if (b) { String fileMd5 = MD5Util.getFileMd5(newApk.getAbsolutePath()); if (checkMd5 != null && checkMd5.equals(fileMd5)) { + //删除增量更新包和老的apk包 + patchFile.delete(); + oldApk.delete(); SysApi.installApk(context, newApkPath, context.getPackageName(), true); sendResult(cid, 1, action, action + ":" + mCmdid + " is installing"); }