目录
  1. 1. 基础知识
    1. 1.1. 应用场景
      1. 1.1.1. 代码生成
      2. 1.1.2. 代码监控
      3. 1.1.3. 代码修改
      4. 1.1.4. 代码分析
重拾Android-【全埋点方案系列】App编译插桩方案分析

基础知识

随着技术层面的不断知识积累,你会发现,无论是 Dagger、ButterKnife 这些APT(Annotation Processing Tool)注解生成框架,还是新兴的Kotlin语言编译器,均用到了一种技术-编译插桩。编译插桩技术很有意思,也很有价值,掌握其之后,可以完成一些其他技术很难实现或者无法实现的任务。因为我们可以通过它随心所欲地操控代码,满足不同场景的需求。

下面看一下编译插桩技术都在哪些应用场景用到:

应用场景

代码生成

通过在编译过程生成代码,可以让代码隐藏复杂的内部实现,让开发可以更加聚焦于业务场景,而且也减少了手工重复的劳动量,降低出错可能性

代码监控

我们可以通过编译插桩技术实现对网络以及耗电量的监控,当然也包括其他各式各样的性能监控。

代码修改

在没有第三方库的源码情境下,编译插桩可以让我们无障碍实现内部代码的修改,比如函数奔溃,可以实现try catch捕获。当然也可以通过代码修改实现无痕埋点。这里都有案例输出。

代码分析

通过编译插桩技术可以实现自定义代码检查功能,事实上一些第三方代码检查工具也是使用的编译插桩技术来实现的,比如:Findbugs

打赏
  • 微信
  • 支付宝

评论