伪代码解读VirtualApk

2019-11-04  本文已影响0人  caojiying

[TOC]

前言

“二八定律”在软件行业也有体现,甚至更为极端。据说90%的代码在平时都不会运行到。比如异常处理、分支条件,或者是为了可维护性做的大量封装。这些代码是必须存在的,但对于开源框架的使用者,初次打开源码一般梳理清楚主流程就足够了,这些长篇代码却往往变成了阻碍阅读的干扰项。让我们回归初心,用最简单的伪代码(pseudo code)剥茧抽丝,对我自己而言,也希望这个系列能坚持下去,让更多的人减少阅读源码的痛楚。

注:本文所使用VirtualApk的源码版本为0.9.8.6【TODO 引用地址】

调用

VirtualApk的demo在调用时不可避免要跟文件I/O、权限申请打交道,并且代码分布在ApplicationActivity之中。整理过后的伪代码是:

    /**
     * 伪代码(pseudo code), 不要用于实际开发
     */

    // 初始化PluginManager, 并加载插件Apk, file是插件Apk的存储路径
    PluginManager.getInstance(context).loadPlugin(file);

    // 启动Activity, Service的启动也是一样
    Intent intent = new Intent();
    intent.setClassName(context, "com.plugin.apk.fqcn.PluginTargetActivity");
    startActivity(intent);

伪代码体现出的:

伪代码没有体现出的:

具体代码在VirtualApk/app目录下,VAApplicationMainActivity两个类。【TODO 引用地址】

上一篇 下一篇

猜你喜欢

热点阅读