【转】不需要 Root,也能用上强大的 Xposed 框架:VirtualXposed
如果你喜欢折腾 Android 设备,那么你应该对 Xposed 的大名有所耳闻。

这个第三方框架,让许多 Android 玩家都爱不释手。通过对系统框架的「偷天换日」,它可以修改系统与应用的各种数据,籍此实现无数种可能性,同时也大大地提升了 Android 系统的可玩性。
参考阅读:关于 Android 7.1 的 Xposed,你想知道的都在这
但由于涉及到对系统底层的一些改动,Xposed 的使用也有着各种限制;例如,必须要解锁手机的 Bootloader,以及获取 Android 的 Root 权限等。
然而,有些设备在执行这些操作时可能并不方便,甚至无法解锁或者 Root。
但俗话说得好,「办法总比困难多」。VirtualXposed 的出现,为这些设备带来了一丝曙光;开发者称,借助它,即使在没有 Root 权限的情况下,也可以使用 Xposed 框架!

它是如何实现的?体验怎样?使用时又会遇到什么问题?接下来的文章中,这些问题将会一一得到解答。
原理是什么?
首先,VirtualXposed 并未对系统底层进行任何修改,也没有利用什么奇怪的漏洞。
它的工作原理,有点像那些双开软件。你可以这么理解:它在你的手机里生成了一个「虚拟环境」,再在这个环境中启用 Xposed。一切都是虚拟的,这也是它叫做 VirtualXposed 的原因。
正因为此,你需要使用的 Xposed 框架与框架所对应的应用,都需要安装在这个虚拟环境中,才能起作用。
举个例子,如果你要在钉钉上应用某个虚拟位置的框架,你必须同时把二者都安装到 VirtualXposed 中。

只在 VirtualXposed 中安装框架,是不会对系统中的钉钉起任何作用的。同理,直接将框架安装在系统上,或是将应用和框架都安装在系统上,也都不会起任何作用。

了解了它的运行原理之后,接下来要说的,就是如何使用这款「神奇」的应用了。
安装应用&框架
初次打开 VirtualXposed(下文中或简称 VX)后,呈现在眼前的,是这个类似于 Android 启动器的界面。

不要怀疑,你并没有装错软件;还记得上面介绍的原理吗?这是一个「虚拟空间」。而这个启动器,就相当于「虚拟空间」的入口。
和 Pixel Launcher 一样,向上滑动就可以打开应用抽屉,安装到 VirtualXposed 的应用都会在其中显示;但一开始只有预先装好的 Xposed Installer:

如果一切正常,「虚拟环境」中的 Xposed 应该是已经启用的,打开后会显示「Xposed 框架已激活」......即使我的手机并没有解锁,以及获取 Root 权限。

有三种方法可以将应用与模块安装到 VirtualXposed 中。第一种,是「克隆应用」,即将已经安装在系统中的应用添加到 VirtualXposed。
回到 VX 的桌面,点击那个看上去像是应用抽屉的按钮,可以打开 VX 的设置选项:

选择「添加应用」,在已经安装到系统中的应用中进行勾选,确认后即可将它们「克隆」到 VX 的「虚拟环境」里。

如果想要添加并未安装的应用或模块,可以选择第二种方式;即在各种文件管理器中打开 .apk 安装包后,选择「安装到 VirtualXposed」:

另外,如果你已经将各种市场或是浏览器添加到了 VX 中,也可以直接通过这些渠道下载并安装应用。

当然,如果只是想安装模块,还可以直接通过内置的 Xposed Installer 搜索并安装:

添加到 VirtualXposed 中的应用,运行起来与安装到系统中的应用几乎无异;可以正常接收通知,以及浏览本机中的图片等文件。

除此之外,它还可以像「双开」软件一样,同时运行两个相同的应用,并在多任务中进行切换,甚至还可以分屏。从 VirtualXposed 中打开的应用,会加上 [Admin] 的前缀。

想要管理 VX 中的应用进程或是卸载应用,前往设置即可,直接在抽屉中长按图标也可以实现部分操作。

有趣的是,VX 中的启动器,本质上也的确是个 Pixel Launcher。如果愿意的话,你甚至还能在设置中更换图标包......
「万事俱备,只欠东风」。既然应用和模块都已经准备完毕,那么是时候试试看,它能不能正常使用那些框架了。
应用框架测试
接下来,就是「见证奇迹的时刻」。
从 VirtualXposed 官方网站上给出的支持模块列表中,我挑选了两款框架进行测试。其中一款名为 MDWechat,是一个能让微信界面 Material Design 化的模块。
参考阅读:用两款插件让微信更符合 Material Design 设计
激活模块的方式,与实机里的 Xposed 大致无异。打开 VX 中的 Xposed Installer,然后前往「模块」,就能看到安装好的模块了。

按道理来说,接下来的步骤应该是「勾选模块,然后重启手机」;然而在 VX 中,启用模块并不需要真的重启手机。只要在勾选模块后,前往设置,点击最下方的「重启」即可。「重启」的速度极快,因此作者还设置了一个「温馨」的 Toast 提醒......

完成这些操作后,再打开微信;令人兴奋的是,MDWechat 的确被成功激活了。

Material Design 版微信,看上去如何?
我又测试了另一个模块:应用变量,通过它可以分应用修改机型,从而显示各种不同的来源「小尾巴」。

它也可以成功地被激活,并对 VX 中的应用进行修改。现在,我也是用 Mate 9 保时捷设计发微博的人了!(笑)

当然,这些模块只会对 VX 里的应用生效。但的确,VirtualXposed 在一台既没有解锁,也没有 Root 的设备上,成功应用了 Xposed 框架模块。
如果嫌每次都要在 VX 的启动器中打开应用麻烦,可以长按图标,选择「创建快捷方式」,这个应用就出现在你的系统桌面上了,应用名会加上(VXP)的后缀。

插件出问题了,怎么办?不用担心,VX 并不会影响手机系统,如果真的出现了严重到无法正常使用的情况,直接卸载 VX 即可。
总结
目前的 VirtualXposed 还不甚完善。它尚未支持需要使用资源 Hook 的模块,对一部分模块的兼容性也尚待增强。
同时,它的工作原理,也决定了任何修改系统的 Xposed 模块均无法使用;但瑕不掩瑜,VirtualXposed 的确是个很有前途的项目。它大大降低了 Xposed 框架的使用门槛,让更多人能体验到各种花样百出的模块。
对于已经在系统中启用了 Xposed 的用户,还可以借助 VirtualXposed 方便地测试模块;既不用频繁重启手机,又毋需担心「翻车」后影响正常使用。
希望作者能进一步地完善这个项目,提升兼容性与稳定性,造福更多 Android 玩家。
想要了解更多详情,可以访问 VirtualXposed 的 GitHub 页面。
from:https://sspai.com/post/44447
【转】不需要 Root,也能用上强大的 Xposed 框架:VirtualXposed的更多相关文章
- 安卓4.0以上系统怎么不用root激活XPOSED框架的方法
在大多单位的引流或业务操作中,基本上都需要使用安卓的高端技术Xposed框架,近期,我们单位购买了一批新的安卓4.0以上系统,基本上都都是基于7.0以上版本,基本上都不能够刷入root超级权限,即便是 ...
- vivo机器如何无需root激活XPOSED框架的流程
在大多运行室的引流或者业务操作中,理论上需要使用安卓的神一般的Xposed框架,上周我们运行室购来了一批新的vivo机器,理论上都是基于7.0以上系统版本,理论上不能够获得root的su权限,虽然一部 ...
- vivo4.0系统怎么不ROOT激活Xposed框架的教程
在越来越多应用室的引流,或业务操作中,大多数需要使用安卓的强大Xposed框架,前几天,我们应用室采购了一批新的vivo4.0系统,大多数都是基于7.0以上系统,大多数不能够刷入Root的su权限,即 ...
- oppo设备怎么样无需root激活XPOSED框架的教程
在非常多部门的引流或业务操作中,基本上都需要使用安卓的强大XPOSED框架,近期,我们部门购来了一批新的oppo设备,基本上都都是基于7.0以上版本,基本上都不能够获得root的su超级权限,即使一部 ...
- oppo8.0系统怎么无需Root激活Xposed框架的经验
在较多部门的引流,或业务操作中,基本都需要使用安卓的神一般的xposed框架,近期我们部门购来了一批新的oppo8.0系统,基本都都是基于7.0以上版本,基本都不能够刷入root的su权限,虽说一部分 ...
- oppo5.0以上系统怎么样不Root激活Xposed框架的经验
在非常多单位的引流或者业务操作中,基本上都需要使用安卓的黑高科技术Xposed框架,前几天我们单位购来了一批新的oppo5.0以上系统,基本上都都是基于7.0以上版本,基本上都不能够获取root超级权 ...
- 安卓5.0系统怎么无Root激活XPOSED框架的方法
在大多团队的引流或业务操作中,基本上都需要使用安卓的强大Xposed框架,几天前,我们团队买来了一批新的安卓5.0系统,基本上都都是基于7.0以上系统,基本上都不能够获得Root的su权限,纵然一些能 ...
- 小米平板8.0以上系统如何不用root激活xposed框架的流程
在大多使用室的引流,或业务操作中,基本上都需要使用安卓的强大XPOSED框架,近来我们使用室购来了一批新的小米平板8.0以上系统,基本上都都是基于7.0以上系统版本,基本上都不能够刷入ROOT的su权 ...
- 小米5.0以上系统如何没ROOT激活xposed框架的经验
在较多企业的引流或者业务操作中,大多数需要使用安卓的黑高科技术xposed框架,这段时间,我们企业购买了一批新的小米5.0以上系统,大多数都是基于7.0以上版本,大多数不能够获取Root的su超级权限 ...
随机推荐
- 【普及篇】通信能力API及其前景分析
** 1.目前通信行业发展背景**运营商基础通信能力的价值逐渐提升进入数字化时代以来,信息产业正迎来新变革与新发展——网络信息技术与社会各领域全面深度融合,为工业制造.智慧城市等各行业赋能.运营商传统 ...
- GetForegroundWindow获取的是托管进程ApplicationFrameHost,而不是真正的进程,比如XD软件
问题描述 最近做一个实时检测系统当前激活进程的软件,Photoshop.PPT.Word都没有问题,但是无法检测到XD软件的进程,返回的仅仅是ApplicationFrameHost进程,经过研究发现 ...
- 转://IO的基础概念
磁盘IO.网络IO 对磁盘的每个IO就是在磁盘与一些RAM单元之间相互传送一些相邻的扇区的内容. 磁盘IO延时(IO Latency): 也称为IO响应时间,是指内核对磁盘发出一个 ...
- Intellij Idea 无法启动项目的配置坑
1. run/debug configuration里面,tomcat的deployment点击添加不能自动创建war-explorded包: 方案:删除project libraries,重新mav ...
- python-memcached学习笔记
介绍: memcached是免费.开源.高性能.分布式内存对象的缓存系统(键/值字典),旨在通过减轻数据库负载加快动态web应用程序的使用. 数据类型:只用一种字符串类型 1:安装 sudo apt- ...
- 【机器学习】--LDA初始和应用
一.前述 LDA是一种 非监督机器学习 技术,可以用来识别大规模文档集(document collection)或语料库(corpus)中潜藏的主题信息.它采用了词袋(bag of words)的方法 ...
- Mybatis之旅第二篇-Mapper动态代理方式
一.引言 通过上一篇mybatis的入门学习,我们已经会使用mybatis实现简单的增删改查,但是我们也发现了用原始Dao开发的一些问题: Dao方法体存在重复代码:通过SqlSessionFacto ...
- 【Python3爬虫】自动查询天气并实现语音播报
一.写在前面 之前写过一篇用Python发送天气预报邮件的博客,但是因为要手动输入城市名称,还要打开邮箱才能知道天气情况,这也太麻烦了.于是乎,有了这一篇博客,这次我要做的就是用Python获取本机I ...
- c#如何声明数据结构类型为null?
可以通过如下两种方式声明可为空的类型:System.Nullable<T> variable;T?variable:eg:int值是-2,147,483,648 到 2,147,483,6 ...
- mysql命令行导入导出数据库
导出:1.在命令行里,进入mysql安装根目录下的bin目录下比如:D:\Program Files\MySQL\MySQL Server 5.0\bin输入 mysqldump -uroot -p ...