参考链接: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. 警告: Hessian/Burlap: 'com.github.pagehelper.Page' is an unknown class in WebappClassLoader

    项目中使用mybatis的分页插件pagehelper出现下面的警告 出现上面的警告,并不影响程序的运行.但是毕竟看着比较闹心. 使用debug进行代码根据发现,执行的过程中使用到了pagehelpe ...

  2. ruby **option作为函数参数,map的key必须是符号

    # NEW UNNAMED KEYWORD ARGUMENTSdef new_way(**options)return options[:foo]end# => :new_waynew_way( ...

  3. Velocity初始化过程解析

    velocity就是由template,engine,context组成. 1.首先创建一个template(如果是用在web上就是一个html文件),将需要参数化或实例化的地方用跟context有关 ...

  4. leetcode5:subsets问题

    问题描述: Given a set of distinct integers, nums, return all possible subsets. Note: Elements in a subse ...

  5. spring mongo data api learn

    1 索引 1.1 单列索引 @Indexed @Field(value = "delete_flag") private Boolean deleteFlag = false; @ ...

  6. [作业] Python入门基础--用户登陆

    让用户输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定登陆 #__author:Mifen #date: 2018/11/28 import time #自定义本地用户名和密码 user_nam ...

  7. ASP.NET MVC Core的ViewComponent

    MVC Core新增了ViewComponent的概念,直接强行理解为视图组件,用于在页面上显示可重用的内容,这部分内容包括逻辑和展示内容,而且定义为组件那么其必定是可以独立存在并且是高度可重用的. ...

  8. IOS学习资源汇总

    昨天夜里在简书看到关于ios学习资源总结的文章,在这分享给大家. http://www.jianshu.com/p/b7c4a787a597?utm_campaign=hugo&utm_med ...

  9. OC weak strong __weak __strong copy retain assign nonatomic atomic等关键字的总结

    weak和strong的区别: weak和strong)不同的是 当一个对象不再有strong类型的指针指向它的时候 它会被释放 ,即使还有weak型指针指向它. 一旦最后一个strong型指针离去 ...

  10. [转]ASP.NET web API 2 OData enhancements

    本文转自:https://www.pluralsight.com/blog/tutorials/asp-net-web-api-2-odata-enhancements Along with the ...