参考链接: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).  降低维护成本,提高开发效率;
 
三、实际应用
 
  调研需求:虚拟多开工具软件开发
  调研结果:双开;     ✓
         一键发好友;  ✓
       一键发群;   ✓
       防消息撤回;  ✓
         防朋友圈删除; ✓
       ……
 
 
未完待续……
 
(注:该系列文章仅为技术学习,特此声明)

Android 虚拟多开系列一——技术调研的更多相关文章

  1. Android 虚拟多开系列二——技术原理

    目录         Android虚拟多开应用有哪些?         Android虚拟多开应用技术原理有哪几类?         Android虚拟多开需求分析         反虚拟多开技术 ...

  2. android开发学习笔记系列(1)-android起航

    前言 在学习安卓的过程中,我觉得非常有必要将自己所学的东西进行整理,因为每每当我知道我应该是如何去实现功能的时候,有许多细节问题我总是会遗漏,因此我也萌生了写一系列博客来描述自己学习的路线,让我的an ...

  3. Android源码解析系列

    转载请标明出处:一片枫叶的专栏 知乎上看了一篇非常不错的博文:有没有必要阅读Android源码 看完之后痛定思过,平时所学往往是知其然然不知其所以然,所以为了更好的深入Android体系,决定学习an ...

  4. [Android开发学iOS系列] iOS写UI的几种方式

    [Android开发学iOS系列] iOS写UI的几种方式 作为一个现代化的平台, iOS的发展也经历了好几个时代. 本文讲讲iOS写UI的几种主要方式和各自的特点. iOS写UI的方式 在iOS中写 ...

  5. Android Studio快速开发之道

    概述 现如今开发越来越追求效率和节奏,节省出时间做更多的事情,除了开发技术上的封装等,开发工具的使用技巧也是很重要的,今天就根据自己的经验来给大家介绍一下Android Studio快速开发之道. P ...

  6. Android开发—智能家居系列】(二):用手机对WIFI模块进行配置

    在实际开发中,我开发的这款APP是用来连接温控器,并对温控器进行控制的.有图为证,哈哈. 上一篇文章[Android开发—智能家居系列](一):智能家居原理的文末总结中写到: 手机APP控制智能温控器 ...

  7. Android系统编程入门系列之硬件交互——通信硬件Bluetooth

    通信硬件NFC的文章,虽然可以在Android系统中通过非直接接触的形式与支持NFC硬件的设备通信,但是也只能交互一些简短的标签内容,对大量的持续性数据,却并不能很好的支持.因此针对这个弊端,可以考虑 ...

  8. 打开android虚拟机时出现a repairable android virtual device

    打开android虚拟机时出现a repairable android virtual device,虚拟机可以打开但是一直处于开机状态,具体解决方案如下: 解决方案1:换个版本,不要选 CPU/AB ...

  9. 转:Android 2.3 代码混淆proguard技术介绍

    ProGuard简介 ProGuard是一个SourceForge上非常知名的开源项目.官网网址是:http://proguard.sourceforge.net/. Java的字节码一般是非常容易反 ...

随机推荐

  1. 2018青岛网络赛G - Couleur 区间上的启发式合并

    题意:给出\(a[1...n]\),共\(n\)次操作,每次删除一个位置\(p_i\)(强制在线),此时区间会变为两个分离的区间,求每次操作的最大区间逆序对 首先要知道必要的工具,按权值建立的主席树可 ...

  2. [转] String to Date conversion in hive - 在 Hive 中各种字符串转换成日期格式

    [From] http://bigdataprogrammers.com/string-date-conversion-hive/ Please refer below table to conver ...

  3. Window对象的判定方法

    /* window对象的判定,由于ECMA是不规范Host对象,window对象属于Host,所以也没有约定,所以就算是Object.prototype也对它无可奈何, 而且如果根据window.wi ...

  4. SASS的安装和转换为CSS的方法

    http://www.cnblogs.com/52css/archive/2012/08/19/sass-how-to-install-and-use.html SASS的安装方法: 1.先安装Rub ...

  5. 第1章—Spring之旅—简化Spring的java开发

    简化Spring的java开发 1.1简介 区别于EJB的特性 简化javaBean,为了降低java开发的复杂性,Spring采取了以下4种关键策略: 基于POJO的轻量级和最小入侵性编程 通过依赖 ...

  6. Ubuntu系统Apache Maven安装

    操作系统:Linux x64 / Ubuntu 14.04 Apache Maven版本:3.3.9 建议预先搭建Java开发环境:详见上一篇<Linux Ubuntu系统下Java开发环境搭建 ...

  7. 腾讯云技术专家卢萌凯手把手教你Demo一个人脸识别程序!

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文来自腾讯云技术沙龙,本次沙龙主题为Serverless架构开发与SCF部署实践 卢萌凯:毕业于东南大学,曾就职于华为,熟悉云行业解决方案 ...

  8. rails学习笔记: rake db 相关命令

    rails学习笔记: rake db 命令行 rake db:*****script/generate model task name:string priority:integer script/g ...

  9. Mozilla新特性只支持https网站,再次推动SSL证书普及

    Mozilla的官方博客2015.4.30正式宣布了淘汰HTTP的方案. 其中包括:设定一个日期,所有的新特性将只提供给HTTPS网站:HTTP网站将逐步被禁止访问浏览器功能,尤其是那些与用户安全和隐 ...

  10. nodejs学习笔记四(模块化、在npm上发布自己的模块)

    模块化:      1.系统模块:  http.querystring.url      2.自定义模块      3.包管理器   [系统模块]   Assert      断言:肯定确定会出现的情 ...