不少人以为模拟器升级只是换了个版本号,里面的设置会原样留着,结果第二天打开实例,发现浏览器还在直连。升级这件事动的范围比界面大,某些版本的安装过程会重建模拟器内部的系统镜像,代理IP这类写进系统层的设置正好首当其冲。升级前后各核对一遍,比事后一项项排查省事得多。
升级最可能抹掉哪一层
模拟器里和网络有关的设置分三层。第一层是模拟器自己的运行参数,比如实例用哪一种网络模式,这层由模拟器管理,升级一般会保留。第二层是里面那套安卓系统的设置,代理地址和端口就写在这里,属于系统数据,版本跨度大时容易被重置。第三层是应用自己的配置,存在应用的存储空间里,通常跟着应用走。三层里最容易丢的是第二层。
升级前先抄三处设置
- 把三处设置的值抄下来:模拟器的网络模式、安卓系统里的代理地址与端口、应用内的代理配置
- 有导出功能的把配置导出一份,没有就用截图或文本方式存好
- 确认没有正在跑的长任务,免得升级中途把会话打断
升级后按同样顺序核对
- 核对系统层 进安卓系统的网络与互联网,看代理开关与地址端口是否还在
- 核对模拟器层 看实例的网络模式有没有回到默认值
- 核对应用层 打开一个应用查一次IP,确认请求确实按代理IP出去
三层设置的保留情况
| 层级 | 存在哪里 | 升级后是否保留 | 核对方式 |
|---|---|---|---|
| 模拟器运行参数 | 模拟器自身的设置 | 一般保留 | 看实例的网络模式是否和升级前一致 |
| 安卓系统设置 | 模拟器内部的系统数据 | 版本跨度大时可能重置 | 看代理开关与地址端口是否还在 |
| 应用内配置 | 应用的存储空间 | 通常跟随应用 | 打开应用查一次IP地址 |
核对顺序和升级前一致,缺哪层补哪层。
补配置时优先补第二层。也就是安卓系统里的代理地址与端口,因为第一层和第三层通常没动。补完不要只看开关是不是打开了,要在模拟器内部查一次IP,开关打开只代表设置写了进去。
两个常被问到的问题
升级后实例里的应用数据会一起清掉吗
多数情况下应用数据保留在实例目录里,升级只替换程序本身。如果安装时选了重建实例,数据会跟着一起走,升级前把配置抄一份就显得必要。
多开环境能不能一次升级全部实例
可以按顺序逐个升级,每升完一个就核对一次设置。全部升完再核对,某一层被重置了也分不清是哪一步出的问题。
升级前后各走一遍同样的三步,缺的补上、对的留着,代理IP环境就始终处在一个可知的状态。多开环境里把这三步写进日常维护清单,比等到任务失败再翻设置省时间。
代理配置不是设好一次就一劳永逸,升级前后各核对一遍,才算把这份环境真正握在手里。
