在android studio里面创建了android 11 模拟器发现不能连网(android 9以下可以联网),所以去了官网找原因https://developer.android.google.cn/studio/run/emulator-networking
发现可以通过命令行的方式给模拟器手动指定要使用的 DNS 服务器地址,命令如下:
emulator -avd Pixel_2_API_30 -dns-server 8.8.8.8
在android studio 控制台输入即可,Pixel_2_API_30是我创建模拟器的名字,设置dns为8.8.8.8,这是Google提供的一个公用免费的DNS地址(还有一个是114.114.114.114,效果一样)。然后模拟器就有网络了。
在这个过程中遇到的问题:
1.刚开始查了一些资料 大部分是通过adb shell -> getprop (查看dns) ->setprop(设置和自己电脑一样的dns)。我执行getprop的时候发现没有[net.dns1],原因好像是我的模拟器是android 11系统,系统偏高。所以放弃了这种方法。
2.在执行emulator -avd Pixel_2_API_30的时候 发现了一个报错:Missing emulator engine program for 'x86' CPU. 解决办法:可以把 emulator 文件夹配置到环境变量中,注意环境变量移动到 tools 的上面。