Android 虚拟多开系列一——技术调研

参考链接:http://weishu.me

Github源码链接:   

            国内Xposed框架源码链接
                              VirtualApp:VirtualXposed 是基于 VirtualApp 和 epic 在 非root 环境下运行 Xposed 模块的实现(支持5.0——9.0)。
                              exposed   :exposed 致力于为 App 提供 Xposed 运行环境。
    框架实际应用
 
 
一、前情提要
 
Android插件技术事件:
            1. 2017年淘宝 Atlas 插件化项目的开源标志着插件化的落幕;
            2. 2018年 Android 9.0 上私有API的限制标志着:Android插件化技术进程必将要退出历史潮流。
 
如今的插件化技术可能的发展方向:
            1. 模块化/解耦被抽离,逐渐演进为稳定、务实的组件化方案;
            2. 插件化的黑科技特性被进一步发掘,inline hook / method hook大行其道,走向双开,虚拟环境;
 
 
二、概念解释
 
Android 插件化模块化组件化
        
        Android插件化:App中各个独立的功能模块都可以打包成apk,让宿主程序把apk加载进来,再运行里面的各个Activity,Service等。
                       http://www.cnblogs.com/android-blogs/p/5703355.html
        Android插件化作用:     (1). 模块解耦;
                                          (2). 动态升级(动态更新插件);
                                          (3). 高效并行开发(编译速度更快);
                                          (4). 按需加载,内存占用更低;
                                          (5). 节省升级流量(不用每次更新都下载一个完整的App);
                                          (6). 突破 Dex Max method 65535 上线 ;
 
        Android组件化:组件化和插件化的概念相差不大。较大的区别就是:组件是指通用及复用性较高的构件,如 图片缓存 就可以看成一个组件被多个App共用。(注:对整个App来说,其归类方式也不一样。插件是针对业务级的解耦框架(如:App的皮肤样式),组件则是针对功能级的代码框架(如:图片缓存、网络操作、数据库操作))
        Android组件化作用:     (1).  模块解耦;
                                          (2).  多重复用,避免重复造轮子;
                                          (3).  降低维护成本,提高开发效率;
 
        Android模块化:模块化与组件化一样,也是一种与平台无关的解耦手段,被广泛应用在架构层面。二者通过组合方式来使用。它们只是架构方面的一种思想,在代码的实现层面上没有多大区别。组件通常指的是底层模块,公共组件等。而模块既可表示上层的业务,也可表示组件中的某个业务功能,如图片组件中的缓存模块,下载模块。所以模块的应用范围更广。
        Android模块化作用:     (1).  业务模块解耦;
                                          (2).  降低维护成本,提高开发效率;
 
三、实际应用
 
  调研需求:虚拟多开工具软件开发
  调研结果:双开;     
         一键发好友;  
       一键发群;   
       防消息撤回;  
         防朋友圈删除; 
       ……
 
 
未完待续……
 
(注:该系列文章仅为技术学习,特此声明)
posted @ 2019-02-25 17:06  Binary-Stream  阅读(2359)  评论(0编辑  收藏  举报