开发者社区> 问答> 正文

在mPaaS移动开发平台中,对于热修复功能,请问现在还是只指出gradle7.0以下吗?

在mPaaS移动开发平台中,对于热修复功能,请问现在还是只指出gradle7.0以下吗?

展开
收起
小小鹿鹿鹿 2024-01-10 07:53:32 52 0
3 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    mPaaS确实为移动开发平台提供了热修复功能,用于解决Native模块上线后的问题,实现不发布客户端apk场景下的热修复。目前Android端热修复主要包括andfix和dexpatch,考虑到andfix的版本兼容性,目前主要推荐使用DexPatch。

    在集成mPaaS热修复时,如果你使用的Gradle版本高于7.0,也不会影响程序的运行。因为mPaaS在设计热修复功能时,考虑了对不同版本的Gradle的支持。

    至于热修复的具体操作,通常包括将热修复包添加至mPaaS控制台,创建发布并选择发布类型等步骤。而在实际应用中,热修复主要采用的打补丁方式是指能够修复软件漏洞的一些代码,是一种快速、低成本修复产品软件版本缺陷的方式。

    具体到开发过程,我们需要动态去加载补丁apk,所以一般需要有两个apk,一个是宿主apk,一个是补丁apk,对应的就需要有宿主项目和补丁项目。另一种冷启动修复方式(如Qzone热修复技术)则利用了dex文件的运行机制,通过插入补丁包的方式,把补丁dex包插入到dex集合最前面,这样虚拟机在寻找之前出bug的文件之前,首先会找到这个补丁包下面的我们已经修改过的class。

    2024-01-13 17:51:59
    赞同 展开评论 打赏
  • mPaaS的移动开发平台热修复主要推荐使用DexPatch和InstantRun两种方案。对于是否受gradle版本限制的问题,没有直接的信息支持。但是,高版本的gradle通常具有更好的兼容性和功能,所以建议您直接在项目中尝试使用gradle 7.0或更高版本以获取最佳体验。

    热修复,顾名思义,就是在应用程序运行过程中修复其存在的问题,而无需用户进行重新安装。它可以解决已上线应用中存在的bug问题,尤其是一些较小的问题,避免用户需要重新下载整个应用的繁琐过程。具体来说,热修复主要包括两种形式:andfix和dexpatch。

    一种常见的热修复方式是通过下发补丁包,让已安装的客户端动态更新。这意味着即使在应用商店之外,也可以在用户无感知的情况下修复软件缺陷或者推送新的需求。此外,还需要注意,热修复不能与InstantRun在同一版本内混合使用,但可以在跨版本中使用。

    2024-01-13 11:35:56
    赞同 展开评论 打赏
  • instantrun方式gradle 8.0以下支持,dexPatch都支持。可以开下文档介绍

    https://help.aliyun.com/document_detail/149702.html?spm=a2c4g.49799.0.0.5c32326cjuSDZh
    。此回答来自钉群mPaaS 接入问题官方答疑群。

    2024-01-10 15:52:04
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
问答排行榜
最热
最新

相关电子书

更多
mPaaS 小程序重磅发布 立即下载
金融专场-新一代移动研发平台mPaaS智能化实践-付海涛 立即下载
mPaaS 小程序新品发布 立即下载