Commit f4b18e9f authored by Administrator's avatar Administrator

virtual env doc

parent 25bc8b7f
# 虚拟化相关
虚拟化章节主要描述ratel提供的设备指纹对抗功能,设备指纹对抗和改机工具不是等价概念。对改机工具而言,包括修改机型、序列号、imei等,然而手机中存在大量弱唯一ID属性,以及存在一些改机工具逃离方法、存在危险环境检测手段。ratel希望在一个尽量正常的手机环境中(无root、无危险app、考虑模拟器AOSP等),实现ID属性飘逸,且保证ID数据校验可靠性、ID属性飘逸范围合法性、ID属性数据关联不被破坏。ratel希望实现设备指纹方案无法唯一定位ratel放大的各个设备,虽然ratel提供了常规设备定位信息自定义接口(IMEI,serial等),但是我们并不建议通过外部干预这些信息的飘逸。
TODO
\ No newline at end of file
# 一机多号
在前面章节已经叙述过ratel提供的几种虚拟化模式,在这几种模式中,目前看起来使用较多,而且操作较为复杂的为MULTI模式,甚至我把这模式单独命名为``一机多号``,一机多号可以达到类似VirtualApp那种无限多开的效果,当然和virtualApp相比有些优势和弱势。下面使用一个demo来叙述ratel一机多号操作流程。
## 操作面板简述
![ratel app panel](img/5_1_app_panel.jpg)
1. 基础信息面板显示当前被ratel感染的app的基本信息,点击这个面板可以打开app,需要给ratelManager提供打开其他app的权限。
2. 常规操作面板提供一些简单的操作指定app的功能,部分功能需要app处于运行态才能使用。
3. 引擎信息面板显示当前app使用的引擎
4. 构建参数面板显示部分app构建的时候的相关信息。
可以看到,正常情况下,并没有操作一机多号的入口。
## 一机多号操作面板
ratelManager处理一机多号,需要满足两个条件:
1. app虚拟模式处在multi模式下下,加入构建参数:``ratel_properties_virtualEnvModel=MULTI``或者在插件中指定``<meta-data android:name="virtualEnvModel" android:value="Multi" />``
2. app处于运行态
满足两个条件之后,即可看到一机多号操作面板,如下:
![multi user oprate pannel](img/5_2_multi_user_panel.jpg)
可以看到,默认情况下,app有一个默认设备``default_0``。这里解释一下,ratel一机多号约定,每个设备需要有一个名字,作为虚拟设备的唯一标记,名字只可以使用数字、下划线、字母组成。
### 创建设备
在操作面板中,有一个创建设备的按钮,点击后在弹窗中输入一个设备ID(随意起名字,只能使用数字、下划线、字母组成),确定之后即可看到一个新的设备出现在一机多号面板中。
![create user](img/5_3_create_user.jpg)
### 切换设备&删除设备
上图可以看到,一机多号中,点击设备item可以弹出操作菜单,提供删除设备和切换设备功能
### api切换设备冲突解决
在之前章节有过讲诉,ratel支持使用插件代码控制切换设备`` RatelToolKit.virtualEnv.switchEnv("18782164555");`` 在ratel生命周期中,ratelManager控制切换和插件控制切换,都应该生效,但是如果他们传入的id不相同,则会导致二义性,实际表现则是,ratel会使用插件的逻辑为主。
如果你的插件存在控制切换设备逻辑,那么在ratelManager中直接控制切换将会失效,你可以通过两种方案使得设备切换以ratelManager为主。
1. 注释插件中切换设备代码
2. 勾选ratelManager操作面板中,``禁用API切换``按钮。
这个功能的主要使用场景是:
1. 在没有编程能力的用户中,使用一机多号功能
2. 在存在编程的自动化控制场景下,切换到指定账户,进行设备状态场景还原(比如,某个账号被封禁,切换到指定账号,观察被封禁的表现)
\ No newline at end of file
......@@ -21,7 +21,7 @@
# 本月测试证书
```
dNd/TJ0pJI1QLAnjEDe5HpbQWBXXZb4Owg7M+6Jec7HbKfrq0UcPD+WLge2p4ubIKnmLNKBk+DX0slYVdAxPU6D+SYjfH7UxJKQaUeI3nOcdD45ioOrDs/hWZOtY8owS85H+yVycyU4dgJFPlvv7VQZwfP0yPiEWR3PWebNVgMczHhH0D5ruFHHgWZEfjEDiBasPnnVdkAXfV8IKyFZnQ4K8J57W+6dZ6rARPVXEgylF6JaB3HtN6o2FLLII2Wc6FdHNI23u1lL8qe1jHbNHiCEI0PffyNBpKSDrFJtpaiHygx69LuER0J7mBqG5c8zXy8M9pirXKFH6fr0uadFFBalBHXneTrZrpYxmlL3A8skTG1fwMlEedukbgv5pgc3xTPwga6yXpllCzstGbqD3501MuBwcoETEjp0r4ahwRIA/r2OvmI0ww8uVXqDEwQx8Rf1+0Cm2lwnM66USsoH1LFSw8UmlTbN+qsrU1bP/G/m+T/T3IPJu2E4ZYo3mnbNQZCb4dDkHntaLGSU18JOlQzdzyzbfSXCzxYlTrnn52i/DmXch2evESGHBawTA1G1Rq90/2M8VeNExihxX8dtWnhfywL2OvTrj+C0A12Mg7aXQuamvZlaR1o0ulzArtCa4hpnul8N9nL8339sqfJpxkop6vBnOTc11g/nK1nEhFS4=
dNd/TJ0pJI1QLAnjEDe5HpbQWBXXZb4Owg7M+6Jec7HbKfrq0UcPD+WLge2p4ubIKnmLNKBk+DX0slYVdAxPU6D+SYjfH7UxJKQaUeI3nOcdD45ioOrDs/hWZOtY8owS85H+yVycyU4dgJFPlvv7VQZwfP0yPiEWR3PWebNVgMeEG0UVJ3gm2LlQMf3n8y6kwzslG/MUeVOsnIlYZ7CKcOJzD6FBNWCvn6N8Gi/61muWU+LFw5ZPSIjBPRDXre/Qn20r8YG33TBEkvt7hauQ4c+aos+xQRhgHQw+OncuqCS7hwcvvMmSXFsld3VyI1ZMuwCuhNXBfrhh2C9i0vlcxm1PlqwATMx+b52U39XO0S045kETs74e0LFOQGYaG2D++/SvlW0ZYGIw6EsWGgtFtj0GVTG93N9ehklIFtXo7xNPFfx0taX/xf5Fwn37jNMiX8CgJsjnSvCBI9lwFMYRI3rDEiNuBwz02YvxsASTWTi5B1xFXFl5OeQK2/b1aDTkZNZMqPRtNZR/+QOLQ0wG+iFvRKAqeqyvdrQ0kL6OPwWMl4EXa80yDwBXO5QjgXacQ0YaxDXzKtdLw0LLM9kAQ9w3ph/jD7/sEo1ZShuKRTGblhP1PoskNdYPI3T3CugJTXx9QMHhIUTRaCfMKk2GzASaw6T6M18okWApDa+A2iU=
```
# 分模块文档
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment