首页 文章 精选 留言 我的

精选列表

搜索[android things],共10000篇文章
优秀的个人博客,低调大师

阿里巴巴朱中明--Android热修复技术分析和阿里的技术实践

【51CTO.com原创稿件】在WOT2016移动互联网技术峰会上,阿里朱中明老师为我们讲解热修复里面问题。第一讲解热修复的技术,第二讲解HotFix。 热更新和热修复的区别 通常所说的热更新和热部署都是对这个已经发布的客户端代码做一个更新,这里面有一个不同点,热更新强调它是一种实时更新和微小改动,而在热部署里面讲的是在工具链和工程上的完整的更新周期。 拦截技术 因为在热更新里面其实只讲到了两个比较重要的点,第一个就是拦截。这个拦截在业界里面,现在只有三种方面,第一种是类替换,第二种是AOP,第三种是方法直接替换。它在兼容性是最好的,在任何的产品上应该都是能使用的。缺点它主要是以class为单位做更新,因为它不能做某一个具体部分的更新。它其实有两个缺点,第一有一定的性能损失,第二在多数情况下都需要重启的。 拦截器 做java的都知道这个叫AOP。通过AOP的开发,它的性能损失是几乎无损,并且它并不需要做重启。但是它有两个比较大的问题,第一个兼容性不太好,因为它涉及到VM底层的实现。第二这个patch代码是一个专用的代码,这个代码以后不会在你的工程里面有任何的留存,相当于里就是一个补丁,它是一个真正的补丁。 方法替换 方法替换的优点跟拦截器几乎是差不多的。第一个它的力度非常小,导致它的patch包会相对小。第二个在性能上面其实是没有任何损失的。除了第一次把这个子项的地方改进之后,就没有任何的损失。它会有一些缺点,第一个在兼容性上会有一些问题,因为它也会涉及到底层的VM实现。第二同样它在编写的时候是有一些限制的,比如说可能不能改属性,改方法的时候有一些或多或少的限制,包括不能使用放弃所以也会存在这个代码可能有一定的专业有限的可能性,这也算一个缺点。 安全加护的工具 这个工具对我们来说是非常致命的。其实安全加护的工具并不是对代码做的,大部分的安全加护的工具做两块事情,第一个把APK包的结构做了一个变化,第二把一些资源的名字和一些位置做了一些串,主要是增加了一些成本。安全这件事情永远都是一个游戏,这个游戏是循环下去的。并且安全这个东西是非常灰色的。很多人知道它的破解过程非常简单,就是把APK解开,把里面的代码和东西。其实那个代码里面就是有问题的,把所有的签名全部抹掉,重新抹一遍,就会有问题。所以在打这个包之前,是不能用安全加护的。 本文作者:刘晓旭 来源:51CTO

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册