Android Studio模拟器网络连接异常如何修复?
替换本地IP为模拟器专属地址
模拟器无法直接识别localhost或127.0.0.1,Android Studio自带模拟器直接用10.0.2.2替代,Genymotion模拟器用10.0.3.2。比如把请求地址从http://localhost:8080/api改成http://10.0.2.2:8080/api。检查后端服务的绑定地址
别让后端只绑定127.0.0.1,改成0.0.0.0或者你本机的实际IP,这样模拟器才能访问到。比如Spring Boot项目,在application.properties里加一行server.address=0.0.0.0。关闭本地防火墙/杀毒软件
大概率是本地防火墙拦截了模拟器的请求,临时关掉防火墙试试,或者给后端服务的端口添加入站允许规则。重置模拟器网络配置
打开模拟器的「设置」→「网络 & 互联网」→「移动网络」→「接入点名称(APN)」,点击右上角重置为默认配置。也可以用命令行启动模拟器强制全速网络:emulator -avd <你的模拟器名称> -netdelay none -netspeed full确认APP的网络权限配置
先检查AndroidManifest.xml里有没有加必要权限:<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />要是你的APP是Android 9及以上,还得处理明文流量限制:要么后端改用HTTPS,要么在
application标签里加android:usesCleartextTraffic="true"。用模拟器浏览器测试连通性
在模拟器自带浏览器里输入你改后的API地址,比如http://10.0.2.2:8080/api,看看能不能正常返回数据。浏览器能访问但APP不行,就查APP代码;浏览器也访问不了,就排查后端或本地网络配置。
内容的提问来源于stack exchange,提问作者Juan Diego

