Android热修复

一、背景

       google公司在2016 google/io 大会就提出了热更新、热部署这些新概念,但是目前热更新又同时被google和苹果这样的巨头所决绝,我想这其中很重要的原因是考虑用户和系统安全,所以对于苹果用户来说热更新是胎死腹中了(至少目前是这样),但是对于Android用户来说,google任然推出应用内更新(可参考官方文https://developer.android.google.cn/guide/app-bundle/in-app-updates?hl=en),算是比较友好的了。但是对于Android用户和Android开发者来说,热更新还是需要的,毕竟用户不愿意也不可能接受一款应用的频繁下载更新(人都是有惰性的),更何况要消耗流量等资源。而对于开发者而言,线上出现的问题我们可能无法解决(不更版本的情况下),但是用户的问题要解决吧,那又得打包、测试、发版(可能仅仅是某个很小的bug),得话费不少的精力和成本。因此,热更新对于现在很多公司的很多产品依然是适用的,比如我们公司,不然腾讯这样的大公司也不会推出Bugly框架(参考:https://bugly.qq.com/docs/user-guide/instruction-manual-android-hotfix/?v=20180709165613),当然阿里、百度、美团...他们也有热更新框架,就不一一介绍了

二、前景

            热更新提出也有一段时间了,如果你用火不火来形容它的话,我觉得他也不火,但是像阿里这样的科技巨头都一直在研发和使用,那说明他的实用价值是不言而喻的,我相信未来很长一段时间它的价值都会存在,也不排除出现其它新的替代方案,但在其它替代方案之前,你何不把当前的Bug先解决掉。。。

三、实战

    这个项目不会太多的去讲一些由热更新带来的新问题(受限于Android系统架构arm、x86...Android系统版本,以及应用加固等的处理),本项目主要是原理分析实战,项目中的代码可以clone下来直接使用,本项目的开发工具是AndroidStudio,版本是3.5.1,gradle的版本是5.4.1,SDK编译版本是29,如果项目中的同步太慢,建议在project层的build.gradle中添加maven{url'http://maven.aliyun.com/nexus/content/groups/public/'},记得有两处。

    一、原理

    二、步骤 1、打包zip文件(可以是其它格式文件)

到这来就可以把你生成的zip包放到服务器或者阿里云之类的,以便使用!

                    2、下载文件并解压

 

                    3、跟新线上应用资源

 

                    4、使用到的第三方库 Fast Android Networking(link: https://github.com/amitshekhariitbhu/Fast-Android-Networking)这个库你可以自己封装也可以用其它优秀的网络库,demo示例里面用于下载补丁包使用

                    5、tips:manifest 中添加 相应的permission

四、效果图

                        演示视屏等我上传腾讯审核通过后补充...

 

五、demo地址

 1、demo地址: https://github.com/haitunbeauty/Component-application.git

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值