Jesse的专栏

不积跬步无以至千里

排序:
默认
按更新时间
按访问量

Android 热修复方案Tinker(七) 插桩实现

Tinker V1.7.5是最后一个还支持回退Qzone方案插桩实现补丁修复的版本.由于Tinker的全量合成需要拿到原dex,而第三方的加固通常会将原dex隐藏起来做保护所以使用了第三方加固就只能用V1.7.5的Qzone模式.除非自己做dex保护或者不使用加固,但是有时候用不用第三方加固不是开...

2017-02-03 14:17:01

阅读数:3942

评论数:2

Android 热修复方案Tinker(六) Gradle插件实现

这篇文章主要分析一下Tinker中gradle插件的设计以及各个任务的职能.Gradle插件工作流程的简单实现在Android Gradle 插件编写文章中有讲过,这里就不复述了.下图是Tinker Gradle插件的类图结构.

2016-12-29 11:53:43

阅读数:5603

评论数:1

Android 热修复方案Tinker(五) SO补丁加载

SO文件加载的时机和Dex跟资源的加载有些不一样,像Dex和资源的加载都是系统在特定的时机自动去加载,而SO加载的时机则是让开发者自己控制.开发者可以通过System类对外暴露出来的两个静态方法load和loadLibarary加载SO.这两个方法都拿到ClassLoader再通过Runtime实...

2016-12-11 18:00:25

阅读数:4172

评论数:10

Android 热修复方案Tinker(四) 资源补丁加载

想要做资源的更新首先需要了解分析资源加载流程,这样才能找到突破口.一般我们在应用中使用和加载资源都是通过Context对象的getResources方法.这里以Android 6.0的源码分析资源加载的流程.

2016-12-04 16:37:27

阅读数:5291

评论数:5

Android 热修复方案Tinker(三) Dex补丁加载

之前有说到Tinker的修复原理是跟Qzone类似,这里就详细分析一下为什么这样做可以修复补丁.虽然其他Android版本的源码实现可能不一样,但是都是基于相同的原理.所以这里就以Android 6.0的源码为例介绍原理.具体每个系统版本的不同实现下面会详细说明. 首先从加载dex文件的入口开始...

2016-11-23 17:02:36

阅读数:5609

评论数:16

Android 热修复方案Tinker(二) 补丁加载流程

这篇文章从加载补丁的入口tryLoad处开始分析Tinker补丁加载的流程.根据不同的类别Tinker可以支持dex,SO和资源更新,接下来会详细分析.先贴出补丁加载的主要类图.从tryLoad入口开始,tryLoad中调用加载补丁流程的方法,并统计出这次Load Patch所消耗的时间. ...

2016-11-20 12:31:16

阅读数:5403

评论数:7

Android 热修复方案Tinker(一) Application改造

这篇文章主要分析一下Tinker隔离Application.至于为什么要隔离Application?可以参考上一篇 Android 热修复方案分析文章中说到的Qzone方案,要给除了Application子类所有的类注入一个独立dex中的类引用,来避免class被打上CLASS_ISPREVERI...

2016-11-16 16:06:44

阅读数:10901

评论数:2

基于Express React AntD和MongoDB构建一个CMS系统

Demeter是一个CMS系统, 提供用户体系以及App项目相关内容管理. 其中会包括用户模块, 项目模块和归档模块等. 该系统会长期迭代和维护.

2017-11-05 11:26:09

阅读数:1216

评论数:1

在redux-observable中替换fetch请求网络数据

通常在React项目中会搭配redux来管理React的state状态. 由于项目有异步action的需求, 并且后续会使用到rxjs, 同时想要action层面保持良好的纯字面量风格, 这时就考虑使用redux-observable提供异步action的支持. 目前项目中用到异步action的场...

2017-08-21 09:52:49

阅读数:1337

评论数:0

Android 安全规约

Android 安全规约汇总了一些安全工具扫描的规则, Android的安全漏洞以及实际项目中需要注意的安全问题. 并分筛选出市面上加固方案和360火线扫描能够覆盖到的, 和需要手工检查的问题. 具体分布如下表所示.规约可以作为开发时的安全手册, 也可以作为上线前的安全问题checklist.

2017-06-12 09:23:07

阅读数:1024

评论数:0

火线扫描Android静态代码

火线扫描是由360公司内部孵化出的免费静态代码扫描工具, 它目前最新版本v1.2.4主要针对Android静态代码的安全问题进行扫描. 在360内部该方案也服务于360安全卫士、手机助手、手机浏览器等15个App. 据火线的开发者说后续可能会对Kotlin(Android first-class开...

2017-06-11 11:56:11

阅读数:811

评论数:0

React Native Application和Activity源码分析

基于V0.43.3版本 React Native Android端的ReactApplication和ReactActivity的实现原理.

2017-06-04 16:26:03

阅读数:1469

评论数:2

单元测试之道

单元测试的好处是众所周知的, 它可以提早发现bug, 提高开发过程中的项目质量, 完善代码的设计等. 所以大部分人是认同单元测试的作用, 也都同意它的必要性. 但是真正在实施或落地单元测试的时候又会有各种各样的阻力.理由也是多种多样的, 例如费时, 测试代码不是我的工作, 代码能编译通过为什么还要...

2017-05-06 14:18:08

阅读数:740

评论数:0

React Native 环境搭建, 新建项目, 运行和调试

React Native 可以理解为一个基于 JavaScript, 具备动态配置能力, 面向前端开发者的移动端开发框架. 目前为止虽然一直还没有V1.0.0版本, 但是相信很多小伙伴都了解过或者已经入坑了. 为什么RN那么有人气呢? 我们可以先简单分析一下RN的场景.

2017-04-04 19:56:34

阅读数:1031

评论数:1

Android 开发中使用 AOP

大家对AOP应该都不陌生, 就算没有用过也肯定听说过. 用过或了解过Java AOP的同学应该都知道AspectJ的大名. 因为AspectJ与java程序完全兼容,几乎是无缝关联, 所以只需要做一些简单的AJC适配就可以用在Android开发中. AspectJ用法简单容易上手, 不像之前说过的...

2017-03-19 14:19:44

阅读数:2544

评论数:2

Python 发送邮件脚本

在一些场景中经常需要发送邮件, 像是持续集成和运维报警等. 而使用Python脚本能够很快捷方便得实现发送各种邮件的需求.这里就通过Python基于SMTP(Simple Mail Transfer Protocol)实现一套可以群发,Html内容和附件的脚本. 既然是要发送各种类型的邮件, 首...

2017-02-26 14:41:12

阅读数:2585

评论数:0

Python 自动化加固流程

这里的加固指的是那种需要把文件上传到第三方网站上, 等它加固完成之后再下载下来的场景.这里就以梆梆加固为例, 通过Python脚本将这个过程自动化起来.既然牵扯到第三方的网站, 那么这个脚本绝大多数的操作都跟网络请求相关. 简单设计一下脚本的结构, 先封一个基类出来对外提供一些基础的网络操作, 方...

2017-02-19 12:48:22

阅读数:2087

评论数:3

配置SonarQube,Jenkins集成扫描Android项目

SonarQube是一款开源的质量管理平台, 可以从不同的维度分析项目的质量.也可以把SonarQube跟Jenkins结合起来, 从而帮助我们快递定位潜在的问题, 更好得把控项目输出的质量.SonarQube的安装分为两部分, 分别是Server和Scanner.Server是整个SonarQu...

2017-02-12 14:28:58

阅读数:4116

评论数:0

Android Gradle 插件编写

现在绝大多数的android项目都是使用gradle来构建了,相信大家对gradle已经很熟悉了.像是声明当前module为application, library或者java;又像通过配置android {...}的属性来影响构建或者编译的过程;或者当引入一些需要参与到编译过程的库时,经常需要使...

2016-12-18 17:35:34

阅读数:3925

评论数:2

Android 热修复方案分析

绝大部分的APP项目其实都需要一个动态化方案,来应对线上紧急bug修复发新版本的高成本.之前有利用加壳,分拆两个dex结合DexClassLoader实现了一套全量更新的热更方案.实现原理在Android 基于Proxy/Delegate 实现bug热修复这篇博客中有分解.因为这套方案是在Java...

2016-11-11 16:06:07

阅读数:5593

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭