一、virtualapp里的软件打不开了怎么办
win+R,输入regedit打开注册表,ctrl+F搜索virtualbox,把搜索到的所有东西全部删除到这里卸载干净,重新安装vb即可。
VirtualApp是一个实现App虚拟化引擎的开源项目。VirtualApp允许你给app开辟一块虚拟空间,在这块虚拟空间,你可以添加外部app进来,启动已添加的app,与外部环境完全隔离,从而实现了app双开的功能。
所有操作(Xposed Module,APP的安装)必须在VirtualXposed中完成,否则安装的Xposed Module不会生效。
二、virtualApp打开进不去是怎么回事
virtualApp打开进不去如下:
win+R,输入regedit打开注册表,ctrl+F搜索virtualbox,把搜索到的所有东西全部删除到这里卸载干净,重新安装vb即可。
VirtualApp是一个实现App虚拟化引擎的开源项目。VirtualApp允许你给app开辟一块虚拟空间,在这块虚拟空间,你可以添加外部app进来,启动已添加的app,与外部环境完全隔离,从而实现了app双开的功能。
三、如何看待 Lody 新开源的 VirtualApp 插件框架
占坑,慢慢更。
LBE平行空间没有研究过,DroidPlugin倒是非常熟悉;我简单比较一下VA和DP吧。
首先,VA利用ContentProvider的同步特性构建了一套跨进程同步通信机制;这使得整个框架的核心得以摆脱AIDL Service异步过程的苦恼,代码看起来比较整洁,用起来也非常方便;同时,这个机制也解决了插件之间跨进程通信的难题;类似DroidPlugin这样的多进程机制的插件系统,如果插件之间需要通信,必须使用IPC机制:广播,AIDL等等,这些通信都是异步的,写起来非常蛋疼;而构建在ContentProvider机制上的同步AIDL通信使得插件的跨进程通信就像普通函数调用一样简单。它的实现原理就是把ContentProvider当作一个ServiceManager,所有的Binder都放在这里管理,利用query/call的同步调用方式,把Binder对象透传到不同的进程;这一点我会专门写文章介绍。
其次,对于组件Hook技术来说;我大致看了一下代码,Activity的处理方式和DroidPlugin没有本质的不同;但是对Service组件以及ContentProvider组件的处理有较大改进;非常清晰,处理方式也是直击要害;可以看出年轻的lody对Android Framework已经有相当的功力了。这里插个广告,Android插件化原理解析——ContentProvider的插件化对于ContentProvider的处理跟我这篇文章类似,读者可以领略一下。
然后,在Hook框架方面,lody使用了基于注解的依赖注入技术;这使得虽然hook的对象很多,代码确井井有条;DP的hook都是相当直接的。当然,除去写法上的不同,在Java层他们hook的本质是相同的。关于如何hook可以参考我对DroidPlugin的介绍:
Android插件化原理解析——Hook机制之动态代理
Android插件化原理解析——Hook机制之Binder Hook
接着,VA处理了一部分native层的hook;从引入的libxhook.so可以看出来;这使得VA对于插件so的支持更加完善。具体hook了什么还不是很清楚,待研究。(已确认这个so没有用,thx@朱立志提醒!)