设备改机功能是什么:修改虚拟环境读取到的设备信息
这是 2.2.0 带来的新能力
2.2.0 版本发布说明里列了两项更新:支持设备改机、强化虚拟定位功能。设备改机(fake device information)指修改虚拟环境向应用提供的设备信息——应用在虚拟环境内读取到的机型、参数等标识,可以与真机不同。
它和虚拟定位是同一类东西:都是引擎构造虚拟环境信息的一部分。区别在于定位有界面(预览版),而改机目前是源码级硬编码,官方明确说明暂不提供用户界面操作。
对普通用户意味着什么
直白地说:装上就能用改机功能的版本并不存在。要使用这项能力,需要自行修改源码中的设备信息定义并重新编译——这是面向开发者的功能,不是面向点击操作的设置项。
普通用户能感知到的只有两点:
- 应用市场页面上「支持设备改机」的介绍指的是引擎具备这个机制;
- 虚拟环境内应用读到的设备信息本来就可能与应用商店页描述的不同(引擎提供的虚拟身份),只是你无法通过界面自定义成什么样子。
想折腾改机的开发者路径
- 从开源仓库获取源码(协议与获取方式见开源协议与官方声明);
- 定位设备信息相关的定义位置(官方说明是硬编码,改对应常量即可);
- 按官方集成文档自行编译,编译产物架构选择见32 位与 64 位安装包有什么区别;
- 适配情况参考改机适配现状,不要对全机型生效抱期待。
为什么这项功能停在「预研」状态
项目在 2.2.0 之后就停止了公开发布,改机作为最后一版引入的实验性能力,既没有来得及补上界面,也没有积累足够的机型适配验证。把它理解为一个「源码里提供的可扩展机制」,比理解为「功能」更准确。
引申:即使不改机,虚拟环境本身也会向应用提供一套统一的虚拟设备信息,这就是部分应用能识别虚拟化环境的原因之一,相关讨论见虚拟环境检测提醒与账号安全。