Android原生系统应用双开,无需root(大概)
废话
应用分身还算是比较常用的一个功能吧,但国内各大厂商基本都在自己的系统里做好了应用分身这个功能,而且市面上有大把app多开软件,所以没什么人折腾这个。我个人不太喜欢利用第三方软件去实现这些比较触及系统较底层的功能,所以就在想能不能依靠原生系统自带的功能实现应用多开呢?结果还真有,甚至从Android 5的时代就有了。实现方式意外的简单,不过我也是一顿好搜啊。这里直接做一个总结了,如果你去我文章结尾看了原文章,你会发现实际上他们给出的那一堆代码大部分都注重在了优化环节,而我们只是想使用最基本的多开功能罢了,完全没必要搞那么麻烦,所以一个精简的总结我觉得还是有必要的。不过yysy,这么好用的东西我竟然搜不到有类似的总结教程文章,技术门槛又低,还能躲开厂商的多开应用只有那么几个的限制,我不会是做了这么个总结的第一个人吧….
废话2(使用一段时间以后的更新)
这个应用分身实际上就是Google自带的工作账户功能,正常是要注册和授权码啥的很麻烦的一些东西,咱们只不过用命令行给它打开了而已。实际使用有一些小问题存在。一是安装app,貌似必须把apk文件拷到手机存储里并用MT管理器授权777才能正常用命令安装;二是代理软件似乎并不能安装分身,我在主用户上安装v2并开启代理之后,通知栏会显示个人资料已连接到xxx,这时候工作账户里的应用是不走代理的,而此时给工作资料安装v2会提示无法安装,adb报错“此版本低于当前安装版本”,目前解决方法就是一个v2一个cl,或者路由代理。
方法
adb shell pm create-user --profileOf 0 --managed myspace //创建名为“myspace”的“影子用户”(默认用户id为10)
adb shell pm list users //列出当前所有用户及id
adb shell am start-user 10 //使id为10的用户启动
adb shell pm install -t -r --user 10 /path/to/file.apk //为id为10的用户安装app
如需指定“影子用户”的用户id,添加参数--user-id 100
即可,100为你想要指定的id
参考链接:
修改Android源码实现原生应用双开,应用多开
Android 多用户 —— 从入门到应用分身 (上)