【转】不需要 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超级权限 ... 
随机推荐
- 开源:ASP.NET Aries 开发框架(已支持.NET Core)
			前言: 随着岁月的推进,不知不觉已在.NET这领域上战斗了十年了. 青春还没来得急好好感受,却已是步入健忘之秋的老人一枚了. 趁着还有点记忆,得赶紧把硬盘里那私藏的80G除外的东西,和大伙分享分享. ... 
- JAVA Web实时消息后台服务器推送技术---GoEasy
			---恢复内容开始--- 越来越多的项目需要用到实时消息的推送与接收,我这里推荐大家使用GoEasy, 它是一款第三方推送服务平台,使用它的API可以轻松搞定实时推送! 浏览器兼容性:GoEasy推送 ... 
- Kubernetes 笔记 08 Deployment 副本管理 重新招一个员工来填坑
			本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. Hi,大家好, ... 
- ASP.NET MVC权限控制思路
			在系统开发的时候一个老生常谈的权限管理问题,翻阅了很多的网络资料,但是总感觉离实际使用还有一段距离,其实权限控制无非就几个“请求.页面按钮.字段显示”, 对于前端权限就需要配合JS了, 这里主要展示我 ... 
- 【Netty】(8)---理解ChannelPipeline
			ChannelPipeline ChannelPipeline不是单独存在,它肯定会和Channel.ChannelHandler.ChannelHandlerContext关联在一起,所以有关概念这 ... 
- ResDrawableImgUtil【根据图片名称获取resID值或者Bitmap对象】
			版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 根据图片名称获取项目的res/drawable-xxdhpi中相应资源的ID值以及bitmap值的封装类. 效果图 代码分析 根据图 ... 
- LVS(五)LVS的持久连接
			什么是持久链接 把某个客户端的请求始终定向到同一应用服务器上.对于LVS来说持久连接和算法没有关系.也就是使用任何算法LVS都可以实现同一客户端的请求转发到之前选定的应用服务器,以保持会话.而且还能实 ... 
- 【带着canvas去流浪(7)】绘制水球图
			目录 一. 任务说明 二. 重点提示 三. 示例代码 四. 文字淹水效果的实现 五. 关于canvas抗锯齿 六. 小结 示例代码托管在:http://www.github.com/dashnowor ... 
- c#下载文件选择路径控件
			<input id="file1" style="width: 240px; height: 20px; display:none;" type=&quo ... 
- WPF Geometry 添加Path数据
			当图片转svg,svg转Xaml后,根据数据加载显示图片 DrawingImage: <DrawingImage x:Key="Image.Search"> <D ... 
